Aide language VBA!
yassine_bha
Messages postés
1
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Mes amis je veux connaitre comment copier de cellules d'une feuille exel (entre deux variables) à une autre feuille d'un autre classeur à l'aide de language VBA !!!
Merci d'avance!
Mes amis je veux connaitre comment copier de cellules d'une feuille exel (entre deux variables) à une autre feuille d'un autre classeur à l'aide de language VBA !!!
Merci d'avance!
1 réponse
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