Rapprochement données avec VBA
romainarequipa
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
romainarequipa Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
romainarequipa Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Après des recherches infructueuses, j'ai finalement fini par faire une macro automatique. Cependant insatisfait du résultat, je m'adresse a vous pour solutionner ce problème.
Dans le fichier ci-joint, je souhaite copier-coller en valeur (il y a des formules sur le doc original) les données de la colonne "Info 1" dans la colonne "rapprochement" et toujours dans cette même colonne copier-coller les données de la colonne "info 2" (à la suite des données de la colonne "info 1"
Les données dans les colonnes "info 1" et "info 2" peuvent être en nombre variable et ne se limite pas à celles du fichier exemple.
Enfin, après ce copier-coller, je souhaite supprimer les doublons ( il se peut qu'il y ai les mêmes données dans les colonne "info 1" et "info 2".
Si jamais ce n'est pas clair, faites le moi savoir pour que j'améliore la description.
Merci beaucoup par avance.
Romain
https://www.cjoint.com/c/EBmtspFgAtu
Après des recherches infructueuses, j'ai finalement fini par faire une macro automatique. Cependant insatisfait du résultat, je m'adresse a vous pour solutionner ce problème.
Dans le fichier ci-joint, je souhaite copier-coller en valeur (il y a des formules sur le doc original) les données de la colonne "Info 1" dans la colonne "rapprochement" et toujours dans cette même colonne copier-coller les données de la colonne "info 2" (à la suite des données de la colonne "info 1"
Les données dans les colonnes "info 1" et "info 2" peuvent être en nombre variable et ne se limite pas à celles du fichier exemple.
Enfin, après ce copier-coller, je souhaite supprimer les doublons ( il se peut qu'il y ai les mêmes données dans les colonne "info 1" et "info 2".
Si jamais ce n'est pas clair, faites le moi savoir pour que j'améliore la description.
Merci beaucoup par avance.
Romain
https://www.cjoint.com/c/EBmtspFgAtu
A voir également:
- Rapprochement données avec VBA
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Sauvegarde des données - Guide
- Excel validation des données liste - Guide
5 réponses
Salut,
As tu essayer la formule :
A mettre dans E2 puis étendre la formule.
Ensuite, tu veux supprimer les doublons sur la ligne ? Ou sur les colonnes ?
Si la colonne Info1 contient deux fois 5534 alors faut-il supprimer ces deux valeurs de la colonne Info 1 ET info 2 ?
As tu essayer la formule :
=CONCATENER(C2;D2)
A mettre dans E2 puis étendre la formule.
Ensuite, tu veux supprimer les doublons sur la ligne ? Ou sur les colonnes ?
Si la colonne Info1 contient deux fois 5534 alors faut-il supprimer ces deux valeurs de la colonne Info 1 ET info 2 ?
Bonsoir,
Cela ne répond pas à mes besoins.
Je veux recopier les informations de INFO 1 dans la colonne rapprochement et aussi les informations INFO 2.
Erreur de ma part. Il ne peut pas avoir de doublons dans les colonnes INFO1 et INFO2
Je veux supprimer les doublons dans la colonne rapprochement (en supprimer 1 des 2, cela n'a pas d'importance.
Je joins mon fichier exemple avec le résultat que je souhaite. En rouge, les doublons (si 2 fois 4545 dans colonne rapprochement alors suppression de l'une des cellules).
Merci par avance.
Romain
https://www.cjoint.com/c/EBmxtuXvOfN
Cela ne répond pas à mes besoins.
Je veux recopier les informations de INFO 1 dans la colonne rapprochement et aussi les informations INFO 2.
Erreur de ma part. Il ne peut pas avoir de doublons dans les colonnes INFO1 et INFO2
Je veux supprimer les doublons dans la colonne rapprochement (en supprimer 1 des 2, cela n'a pas d'importance.
Je joins mon fichier exemple avec le résultat que je souhaite. En rouge, les doublons (si 2 fois 4545 dans colonne rapprochement alors suppression de l'une des cellules).
Merci par avance.
Romain
https://www.cjoint.com/c/EBmxtuXvOfN
Bonsoir
Essaie une macro de ce type :
Principe on copie d'abord les infos de la 1ere colonne puis on copie à la suite les infos de la 2eme colonne si elles n'existent pas dans la 1ere colonne (le NB.SI donne 0)
Cdlmnt
Essaie une macro de ce type :
Principe on copie d'abord les infos de la 1ere colonne puis on copie à la suite les infos de la 2eme colonne si elles n'existent pas dans la 1ere colonne (le NB.SI donne 0)
Sub rapprochement() x = 1 Dim LigneA As Long Dim LigneB As Long 'dernieres lignes remplies en colonnes C et D LigneA = Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row LigneB = Columns(4).Find("*", , , , xlByColumns, xlPrevious).Row 'boucle sur colonne C et copie en F For n = 2 To LigneA x = x + 1 Range("F" & x) = Range("C" & n) Next 'boucle sur colonne D For n = 2 To LigneB 'NB.SI la valeur en D en colonne C existe = Application.WorksheetFunction.CountIf(Range("C:C"), Range("D" & n)) ' si n'existe pas on la copie en colonne F If existe = 0 Then x = x + 1 Range("F" & x) = Range("D" & n) End If Next End Sub
Cdlmnt
Bonjour,
Merci, cela fonctionne.
En revanche, dans mes colonnes (info1 et info2) il y a des formules, j'ai donc des cellules vides quand il n'y a pas de correspondance avec un autre fichier. La Macro copie-colle toutes les cellules de ces colonnes même celles qui sont "vides". Je n'ai donc pas dans la colonne rapprochement les données des colonnes INFO1 et INFO2 à la suite (elles sont séparées par les cellules vides).
Y'a t-il une solution pour supprimer ces cellules vides dans la colonne rapprochement ? en ne supprimant que les cellules et non la ligne entière.
MErci
Merci, cela fonctionne.
En revanche, dans mes colonnes (info1 et info2) il y a des formules, j'ai donc des cellules vides quand il n'y a pas de correspondance avec un autre fichier. La Macro copie-colle toutes les cellules de ces colonnes même celles qui sont "vides". Je n'ai donc pas dans la colonne rapprochement les données des colonnes INFO1 et INFO2 à la suite (elles sont séparées par les cellules vides).
Y'a t-il une solution pour supprimer ces cellules vides dans la colonne rapprochement ? en ne supprimant que les cellules et non la ligne entière.
MErci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Tu n'avais pas parlé de la possibilité de cellules vides; en ce cas modifies la macro ainsi :
Cdlmnt
Tu n'avais pas parlé de la possibilité de cellules vides; en ce cas modifies la macro ainsi :
Sub rapprochement() x = 1 Dim LigneA As Long Dim LigneB As Long 'dernieres lignes remplies en colonnes C et D LigneA = Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row LigneB = Columns(4).Find("*", , , , xlByColumns, xlPrevious).Row 'boucle sur colonne C et copie en F si cellule non vide For n = 2 To LigneA If Range("C" & n) <> "" Then x = x + 1: Range("F" & x) = Range("C" & n) Next 'boucle sur colonne D For n = 2 To LigneB 'si cellule non vide If Range("D" & n) <> "" Then 'NB.SI la valeur en D en colonne C existe = Application.WorksheetFunction.CountIf(Range("C:C"), Range("D" & n)) ' si n'existe pas déjà on la copie en colonne F If existe = 0 Then x = x + 1: Range("F" & x) = Range("D" & n) End If Next End Sub
Cdlmnt