Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Copie conditionnelle de données

CARL 31

XLDnaute Nouveau
Bonjour à tous,

Les discussions concernant la copie conditionnelle sont nombreuses mais je ne trouve pas la réponse à ma question.

J'ai des données à copier de mon fichier "source" vers mon fichier "destination" si le libellé est identique
(tailles réelles, 2 000 lignes dans le fichier source, 5 000 dans le fichier destination, d'où le besoin d'automatisation).

Avez-vous une solution en VBA ?
Merci d'avance.

 

gosselien

XLDnaute Barbatruc
Bonjour,

je n'ai pas le temps aujourd'hui et d'autres passeront lire ton post, mais je pense que si tes fichiers se présentent comme ça (avec les date en ligne) tu n'auras pas la facilité de faire des TCD ensuite qui résument et permettent des stat à la fin des l'année (par ex)
Perso, je mettrais les dates dans une seule colonne (si tu as le choix bien sur)
ps: une copie anonymisé viendrait à point et non un dessin ou copie écran ...
P.
 

CARL 31

XLDnaute Nouveau
 

CARL 31

XLDnaute Nouveau
Après enquête : la solution est la suivante :

Sub COPIECHAMP()
Workbooks.Open Filename:="FICHIER D'ORIGINE", _
UpdateLinks:=0
Workbooks.Open Filename:="FICHIER DE DESTINATION" _
, UpdateLinks:=0
'IMPORTANT saisir les rang des colonnes à copier avant de lancer la macro'

For i = 2 To 200
'détermination de la zone d'origine de ligne 2 à la ligne 200'
Workbooks("ORIGINE.xlsx").Activate
Libelle = Cells(i, 9).Value
'cellule de test en colonne i =9 dans le fichier d'origine'

Workbooks("DESTINATION.xlsx").Activate
For j = 2 To 200
'j = variable dans le fichier destination, ici zone de test en colonne 9 aussi'
trouve = 0
If Cells(j, 9).Value = Libelle Then
trouve = j
Exit For
End If
Next
'copie les cellules des colonnes 10 à 21'
If trouve > 0 Then
Workbooks("ORIGINE.xlsx").Activate
Zone1 = Range(Cells(i, 10), Cells(i, 21)).Value

Workbooks("DESTINATION.xlsx").Activate
Range(Cells(j, 10), Cells(j, 21)).Value = Zone1
End If
Next
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…