Posez votre question Signaler

Aide language VBA!

yassine_bha 1Messages postés 8 août 2011Date d'inscription 8 août 2011Dernière intervention - Dernière réponse le 9 août 2011 à 08:18
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!
Lire la suite 

Aide language VBA »

1 réponses
Réponse
+0
moins plus
Bonjour,
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
Ajouter un commentaire
Ce document intitulé « Aide language VBA! » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?