Xls 2010: Copie/paste VBA selon critère
Le
Bonjour le forum,
Je débute en VBA. Je cherche à importer des lignes de la feuille Entity dans la feuille Draft en fonction de la valeur que contient les cellules de la colonne F de la feuille Entity.
Je précise : si dans la colonne F de la feuille draft la valeur de la cellule est = "base" alors copy paste sur la feuille ("draft")
Le code ci-dessous ne copie que la derniere cellule comprenant "base" et je ne comprends pas pourquoi. Pensez-vous que je devrais plutot passer par des filtres VBA ? Merci de votre aide.
Code :Sélectionner tout - Visualiser dans une fenêtre à part1234567891011
Dim zone As Range
Dim cellule As Range
Set zone = Worksheets("entity").Range("F18:F134")
For Each cellule In zone
If cellule = "base" Then
cellule.EntireRow.Copy
End If
Next
Worksheets("Draft").Range("A18").PasteSpecial (xlPasteAll)
End Sub
Je débute en VBA. Je cherche à importer des lignes de la feuille Entity dans la feuille Draft en fonction de la valeur que contient les cellules de la colonne F de la feuille Entity.
Je précise : si dans la colonne F de la feuille draft la valeur de la cellule est = "base" alors copy paste sur la feuille ("draft")
Le code ci-dessous ne copie que la derniere cellule comprenant "base" et je ne comprends pas pourquoi. Pensez-vous que je devrais plutot passer par des filtres VBA ? Merci de votre aide.
Code :Sélectionner tout - Visualiser dans une fenêtre à part1234567891011
Dim zone As Range
Dim cellule As Range
Set zone = Worksheets("entity").Range("F18:F134")
For Each cellule In zone
If cellule = "base" Then
cellule.EntireRow.Copy
End If
Next
Worksheets("Draft").Range("A18").PasteSpecial (xlPasteAll)
End Sub
Une façon de faire; au début de la macro, mets :
Dim Ligne
Ligne = 17
et à la place de :
Worksheets("Draft").Range("A18").PasteSpecial (xlPasteAll)
(ce qui fait que tu écris toujours sur la ligne 18), mats :
Ligne = Ligne + 1
Worksheets("Draft").Range("A" & Ligne).PasteSpecial (xlPasteAll)
Cordialement.
Daniel
Un simple filtre en prenant " X " comme critère te donnera la liste de
toutes les personnes pratiquant le sport défini dans la colonne choisie;
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"forum" a écrit dans le message de groupe de discussion :
Bonjour le forum,
Je débute en VBA. Je cherche à importer des lignes de la feuille Entity dans
la
feuille Draft en fonction de la valeur que contient les cellules de la
colonne F
de la feuille Entity.
Je précise : si dans la colonne F de la feuille draft la valeur de la
cellule
est = "base" alors copy paste sur la feuille ("draft")
Le code ci-dessous ne copie que la derniere cellule comprenant "base" et je
ne
comprends pas pourquoi. Pensez-vous que je devrais plutot passer par des
filtres
VBA ? Merci de votre aide.
Code :Sélectionner tout - Visualiser dans une fenêtre à part1234567891011
Dim zone As Range
Dim cellule As Range
Set zone = Worksheets("entity").Range("F18:F134")
For Each cellule In zone
If cellule = "base" Then
cellule.EntireRow.Copy
End If
Next
Worksheets("Draft").Range("A18").PasteSpecial (xlPasteAll)
End Sub
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Jacquouille" a écrit dans le message de groupe de discussion :
51229de1$0$3113$
Bonsoir
Un simple filtre en prenant " X " comme critère te donnera la liste de
toutes les personnes pratiquant le sport défini dans la colonne choisie;
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"forum" a écrit dans le message de groupe de discussion :
Bonjour le forum,
Je débute en VBA. Je cherche à importer des lignes de la feuille Entity dans
la
feuille Draft en fonction de la valeur que contient les cellules de la
colonne F
de la feuille Entity.
Je précise : si dans la colonne F de la feuille draft la valeur de la
cellule
est = "base" alors copy paste sur la feuille ("draft")
Le code ci-dessous ne copie que la derniere cellule comprenant "base" et je
ne
comprends pas pourquoi. Pensez-vous que je devrais plutot passer par des
filtres
VBA ? Merci de votre aide.
Code :Sélectionner tout - Visualiser dans une fenêtre à part1234567891011
Dim zone As Range
Dim cellule As Range
Set zone = Worksheets("entity").Range("F18:F134")
For Each cellule In zone
If cellule = "base" Then
cellule.EntireRow.Copy
End If
Next
Worksheets("Draft").Range("A18").PasteSpecial (xlPasteAll)
End Sub
merci bcp pr ton aide....; )