VBA Excel Copier/Coller des cellules seulement si non-vides
BillRussell
Messages postés
7
Statut
Membre
-
ThauTheme Messages postés 1564 Statut Membre -
ThauTheme Messages postés 1564 Statut Membre -
Bonjour à tous,
Je demande votre aide sur un sujet qui peut paraitre basique mais je ne trouve pas sur le forum le code qu'il me faut.
Ma config : Excel 2013
Mon besoin :
Copier une plage de cellule d'une feuille vers une autre récapitulative mais en ne copiant que les cellules avec des valeurs, non vides donc. Là où ca se complique c'est que j'ai besoin de coller donc que les cellules remplies de la feuille "Option 1" dans la feuille "Suivi budget" et coller les valeurs de la feuille "Option 2" juste à la ligne d'après.
Pouvez vous me dire ce qui ne va pas dans mon code, car il ne marche pas..
Avez-vous peut-etre une piste pour faire ceci differemment ?
Je vous remercie et n'hésitez pas si vous voulez plus d'informations ou que je fournisse le fichier de test
--
Le monde a commencé sans l'homme, il finira sans lui..
Je demande votre aide sur un sujet qui peut paraitre basique mais je ne trouve pas sur le forum le code qu'il me faut.
Ma config : Excel 2013
Mon besoin :
Copier une plage de cellule d'une feuille vers une autre récapitulative mais en ne copiant que les cellules avec des valeurs, non vides donc. Là où ca se complique c'est que j'ai besoin de coller donc que les cellules remplies de la feuille "Option 1" dans la feuille "Suivi budget" et coller les valeurs de la feuille "Option 2" juste à la ligne d'après.
Sub Test_2()
'Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
'Copier ligne
With Sheets("Suivi Budget")
Sheets("Option 1").Range("A7:A26").Copy_
Destination = .Cells(.Cells(655636, 8).End(xlUp).Row + 1, 1)
Application.CutCopyMode = False
End With
Loop
End Sub
Pouvez vous me dire ce qui ne va pas dans mon code, car il ne marche pas..
Avez-vous peut-etre une piste pour faire ceci differemment ?
Je vous remercie et n'hésitez pas si vous voulez plus d'informations ou que je fournisse le fichier de test
--
Le monde a commencé sans l'homme, il finira sans lui..
1 réponse
-
Bonjour Bill, bonjour le forum,
Peut-être comme ça :
Sub Test_2() Dim OS As Worksheet 'déclare la variable OS (Onglet Source) Dim OD As Worksheet 'déclare la variable OD (Onglet Destination) Dim CEL As Range 'déclare la variable CEL (CELlule) Dim DEST As Range 'déclare la variable OS (cellule de DESTination) Set OS = ActiveCell 'définit l'onglet source OS Set OD = Sheets("Suivi Budget") 'définit l'onglet destination OD For Each CEL In OS.Range("A7:A26") 'boule sur toutes les cellues CEL de la plage A7:A26 If CEL <> "" Then 'condition : si la cellule n'est pa vide Set DEST = OD.Cells(Application.Rows.Count, 8).End(xlUp).Offset(1, 0) 'définit la cellue de destination DEST CEL.Copy DEST 'copie la celllue CEL dans DEST End If 'fin de la condition Next CEL 'prochaine celllue de la boucle End Sub
À plus,
ThauTheme