Comparer lignes de plusieurs onglets d un même classeur en VBA

  • Initiateur de la discussion Initiateur de la discussion mimy
  • 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 !

mimy

XLDnaute Occasionnel
Bonjour à tous,

J ai un fichier Excel composé de 5 onglets.
Chaque onglet contient un tableau de n lignes, donc des tableaux de tailles différentes.
Ce tableau est composé d'une liste de marque de voiture que l'on retrouve parfois dans d'autres onglets du classeur.
Ces marques sont triées par ordres alphabétique.
Je voudrais créer un bouton (donc en VBA) qui fasse que pour chaque onglet, si on retrouve telle marque dans d'autres onglets, dans chacun des onglets on retrouve la même marque au même numéro de ligne, sinon on insert une ligne vide.
De plus je voudrais savoir si on pouvait adapter le code pour X onglets et non pour un nombre d onglets connu.
Exemple:

Onglet 1:__________Onglet 2:______________Onglet 3:

1. AUDI_____________BMW__________________AUDI
2 BWM_____________CHEVROLET_____________KIA
3. CHEVROLET________KIA

Je voudrais:
Onglet 1:__________Onglet 2:______________Onglet 3:

1. AUDI__________________________________AUDI
2. BWM_____________BWM_________
3. CHEVROLET_______CHEVROLET
4. _________________KIA__________________KIA



Merci pour votre aide!!!!!
 

Pièces jointes

Dernière édition:
Re : Comparer lignes de plusieurs onglets d un même classeur en VBA

Bonjour mimy,

je rame toujours!
... Ah mais ça va te faire une belle carrure 😛

Pour ouvrir une première piste, j'ai ajouté un module standard avec quelques lignes de code. On parcourt l'ensemble des feuilles du classeur et à l'aide d'un objet "Dictionary", on dresse une liste des noms de marques présentes dans les différentes feuilles.

La dernière instruction permet de créer un tableau, reprenant toutes ces marques. A partir de là, il faut ajouter une procédure de tri. Je te laisse le soin de faire la recherche ... utilise 'Quick sort' comme mot-clé (si tu ne trouves pas ton bonheur, je veux bien être pendu par les cheveux)
Une fois que tu auras fait cette partie, il "restera" à comprendre ce que tu veux faire ensuite!?
 

Pièces jointes

Re : Comparer lignes de plusieurs onglets d un même classeur en VBA

Bonjour Modeste et merci!

Je n'ai pas super super compris ce que tu veux que j'essaie de faire... je suis novice en vba on va dire :s
Mais je te remercie de vouloir m'aider.
Je voudrai trier ces marques comme je le montre juste au-dessus. En gros que ces marques soient dans chaque onglet à la même ligne.
 
Re : Comparer lignes de plusieurs onglets d un même classeur en VBA

Re-bonjour mimy,

Je n'ai pas super super compris ce que tu veux que j'essaie de faire...
Ben ... d'abord , me semble-t-il, aller voir le code que je t'ai proposé, déterminer s'il fait bien ce que j'ai annoncé, essayer de le comprendre (pour pouvoir l'adapter par la suite), etc.
Maintenant, si tu es "on va dire novice en VBA" ... pourquoi demander une solution de ce type? En faisant une consolidation des données des colonnes B et C de chaque feuille dans une nouvelle feuille de ton classeur, tu obtiendrais aussi la liste triée des différentes marques (avec le total cumulé des "Grands totaux") voir l'image jointe ... Tu observeras au passage la présence d'une marque "KA" 😕
Au départ de ce résultat, adapter le contenu de tes 5 feuilles ne semble pas très compliqué!?

Consolidation mimy.png
 
Re : Comparer lignes de plusieurs onglets d un même classeur en VBA

Re,

Je suis allée voir le code, et en rajoutant une feuille à la fin, j ai pu afficher le dictionnaire à partir de la cellule B7.
Donc j'ai toutes les marques qui ont été réportoriées dans cette nouvelle feuille, et j'essais actuellement de "dire" au code tu vas comparer la colonne B de chaque feuille avec la colonne B de la feuille où le dictionnaire a été affiché, et je veux que tu me réorganises les tableaux de facon à avoir les mêmes marques aux mêmes lignes par rapport à la liste de marques.
Le problème c'est comment faire cette réorganisation??
Pour la marque Ka, c'est une Ford 🙂.
 
Re : Comparer lignes de plusieurs onglets d un même classeur en VBA

Re²,

Attention qu'une fois la liste des marques récupérées, il faut encore les trier (c'était ta demande, me semble-t-il?)
Re-attention dans la feuille juin, la Ford Ka figure après la KIA ... dans ton premier message, tu annonçais les voitures triées par marque ... Est-ce bien le cas??

Suis occupé pendant un bout de temps, mais repasserai en soirée.
 
- 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

Réponses
19
Affichages
472
Retour