Recherche de valeurs et copier sur un autre classeur
Résolu/Fermé
ReMiFaSol
Messages postés
2
Date d'inscription
dimanche 27 mars 2016
Statut
Membre
Dernière intervention
28 mars 2016
-
27 mars 2016 à 16:27
ReMiFaSol Messages postés 2 Date d'inscription dimanche 27 mars 2016 Statut Membre Dernière intervention 28 mars 2016 - 28 mars 2016 à 21:09
ReMiFaSol Messages postés 2 Date d'inscription dimanche 27 mars 2016 Statut Membre Dernière intervention 28 mars 2016 - 28 mars 2016 à 21:09
A voir également:
- Recherche de valeurs et copier sur un autre classeur
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comment copier une vidéo youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Copier texte pdf - Guide
2 réponses
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
27 mars 2016 à 20:13
27 mars 2016 à 20:13
Bonsoir Remifasol
1) Corriger tous les codes dans la feuille du classeur cible (TA, TB ...) ils doivent être écrits sans espace après, ce qui n'est pas la cas de tous pour l'instant) sinon la macro ne pourra pas fonctionner
2) Les 2 classeurs étant ouverts , copier-coller la macro ci-dessous dans un module de l'éditeur VBA du classeur source puis modifier si nécessaire les noms de classeurs et de feuilles en début de macro
3) Les 2 classeurs ouverts lancer la macro
Cdlmnt
Via
1) Corriger tous les codes dans la feuille du classeur cible (TA, TB ...) ils doivent être écrits sans espace après, ce qui n'est pas la cas de tous pour l'instant) sinon la macro ne pourra pas fonctionner
2) Les 2 classeurs étant ouverts , copier-coller la macro ci-dessous dans un module de l'éditeur VBA du classeur source puis modifier si nécessaire les noms de classeurs et de feuilles en début de macro
Sub transfert() Dim Ligne As Long, ligneC As Long ' MODIFIER DANS LA MACRO LES NOMS DES CLASSEURS ET DES FEUILLES SI NECESSAIRE 'nom du classeur source ws = "H1211.xlsm" 'nom feuille source Fs = "Source" 'nom classeur cible wc = "CIBLE.xlsx" 'nom feuille cible Fc = "Cible" ' dernière ligne remplie colonne J de Source Ligne = Workbooks(ws).Sheets(Fs).Columns(10).Find("*", , , , xlByColumns, xlPrevious).Row 'boucle sur les lignes de Source For n = 5 To Ligne ' recupere 2 lettres à gauche du code codlig = Left(Workbooks(ws).Sheets(Fs).Range("J" & n), 2) 'recupere la lettre à droite du code codcol = Right(Workbooks(ws).Sheets(Fs).Range("J" & n), 1) ' ligne en col A de Cible ou se retrouve les 1 premieres lettres du code ligneC = Workbooks(wc).Sheets(Fc).Columns(1).Find(codlig, , , , xlByColumns, xlPrevious).Row ' colonne des codes dans Cible en focntion DU B ou P du code If codcol = "B" Then col = 1 Else col = 6 'transfert des données de Source à Cible Workbooks(wc).Sheets(Fc).Cells(ligneC, col + 1) = Workbooks(ws).Sheets(Fs).Range("K" & n) Workbooks(wc).Sheets(Fc).Cells(ligneC, col + 2) = Workbooks(ws).Sheets(Fs).Range("N" & n) Workbooks(wc).Sheets(Fc).Cells(ligneC, col + 3) = Workbooks(ws).Sheets(Fs).Range("X" & n) Next n End Sub
3) Les 2 classeurs ouverts lancer la macro
Cdlmnt
Via
ReMiFaSol
Messages postés
2
Date d'inscription
dimanche 27 mars 2016
Statut
Membre
Dernière intervention
28 mars 2016
28 mars 2016 à 21:09
28 mars 2016 à 21:09
Impec ! Merci