XL 2016 Copie conditionnelle de données

  • Initiateur de la discussion Initiateur de la discussion CARL 31
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.

upload_2018-3-1_17-33-15.png
 
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.
 
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.

Regarde la pièce jointe 1007311
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour