J'ai ce couple de fichiers Excel que je dois faire correspondre. Voici la situation.Copiez les cellules d'affilée et collez toutes les nièmes cellules
J'ai obtenu le fichier source, où les nouvelles données sont. Dans ce cas, les données sont à la rangée 59 et les valeurs (numériques) commencent à C59 et vont horizontalement jusqu'à CB59. Certaines valeurs sont spéciales et sont en gras. Ensuite, j'ai l'autre fichier, (cible). Les données sont à la colonne D, commençant à D9 et passe à D675, mais les valeurs sont toutes les 9 cellules. (D19, D18, D27, etc.). Ils correspondent parfaitement.
Je voudrais avoir une macro pour rechercher les valeurs dans le fichier source et coller UNIQUEMENT les valeurs en gras. Par exemple, si j'ai les valeurs C59, D59, E59, F59 dans le fichier source, l'équivalent dans le fichier cible serait respectivement D9, D18, D27, D36. Cependant, si seulement D59 et E59 ont les valeurs en gras, alors celles-ci seront les seules copiées dans le fichier cible, dans ce cas, seules les valeurs à D18 et D27 changeront. En outre, si copié, il doit être en lettre régulière, pas en gras.
Merci pour votre aide.
MISE À JOUR: Veuillez supprimer les données en gras. Je viens de trouver que je cherche toutes les données copiées. Je voudrais demander votre soutien pour coller correctement les valeurs de la ligne 58, de la colonne I à la colonne CB dans wbBook2, et les coller dans le wbBook1, à partir de D36 et toutes les 9 cellules.
J'ai essayé ce code et il colle la même valeur de wbBook2 I58 sur wbBook 1 D36, D45 et D54. Ensuite, le reste des cellules tous les 9 sont vides, et tout à coup, il s'arrête à D243.
CODE AJOUT
Sub Macroloco_()
Dim wbBook1 As Workbook
Dim wbBook2 As Workbook
Set wbBook1 = ThisWorkbook
Set wbBook2 = Workbooks.Open("C:\reports Sep\week38.xls")
Dim wsSheet1 As Worksheet
Dim wsSheet2 As Worksheet
Set wsSheet1 = wbBook1.Worksheets("01")
Set wsSheet2 = wbBook2.Worksheets("results")
Dim lastColumn As Long
Dim targetRow As Long
Dim i As Long
targetRow = 36
lastColumn = wsSheet2.Range("CB" & Columns.Count).End(xlUp).Column
For i = 58 To lastColumn
wsSheet2.Range("I" & i).Copy
wsSheet1.Range("D" & targetRow).PasteSpecial xlPasteAll
targetRow = targetRow + 9
Next i
End Sub
S'il vous plaît afficher le code que vous avez essayé thusfar; StackOverflow est là pour collaborer et aider avec les problèmes de codage, pas de code pour vous. Si vous avez besoin d'aide pour démarrer, utilisez l'enregistreur de macros dans l'onglet Développeur. Si vous avez simplement besoin d'une piste, regardez dans les instructions If en utilisant .font.bold = True – Cyril
Merci pour une réponse rapide. Je viens de mettre à jour le message avec le code que j'essayais. –