Aide language VBA!
Fermé
yassine_bha
Messages postés
1
Date d'inscription
lundi 8 août 2011
Statut
Membre
Dernière intervention
8 août 2011
-
8 août 2011 à 17:31
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 9 août 2011 à 08:18
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 9 août 2011 à 08:18
A voir également:
- Aide language VBA!
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
1 réponse
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
9 août 2011 à 08:18
9 août 2011 à 08:18
Bonjour,
La méthode pour copier est certainement, en VBA, la plus facile. La syntaxe est elle même implicite :
Le tout en une seule ligne de code avec juste un espace entre Copy et la suite.
Il faut bien entendu que vos deux classeurs soient ouverts, sinon ça se complique considérablement...
A titre d'exemple, le code suivant boucle sur les lignes (de 1 à 10) du classeur 1 et si cette ligne contient "Absent" en colonne A alors la macro copie cette ligne et la colle dans le classeur 2 :
La méthode pour copier est certainement, en VBA, la plus facile. La syntaxe est elle même implicite :
Workbook(ClasseurSource.xls).Sheets(FeuilleSource).Range(Source).Copy Workbook(ClasseurDestination.xls)).Sheets(FeuilleDestination).Range(Destination)
Le tout en une seule ligne de code avec juste un espace entre Copy et la suite.
Il faut bien entendu que vos deux classeurs soient ouverts, sinon ça se complique considérablement...
A titre d'exemple, le code suivant boucle sur les lignes (de 1 à 10) du classeur 1 et si cette ligne contient "Absent" en colonne A alors la macro copie cette ligne et la colle dans le classeur 2 :
Sub CopiColleSiAbsent() Dim Lign As Integer For Lign = 1 To 10 'on boucle de la ligne 1 à 10 'Si on trouve Absent en colonne A de la feuille 1 du classeur1 Alors If Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A" & Lign) = "Absent" Then 'On copie la ligne vers le classeur 2, première ligne vide Workbooks("Classeur1.xls").Sheets("Feuil1").Rows(Lign).Copy Workbooks("Classeur2.xls").Sheets("Feuil2").Columns(1).Find("*", , , , xlByColumns, xlPrevious).Offset(1, 0) 'fin du test End If 'Ligne suivante Next Lign End Sub