Concatener cellules jaunes a gauche et en haut d'une cellule

Fermé
aslaam - 5 nov. 2015 à 15:26
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 - 13 nov. 2015 à 10:01
Bonjour,

J'ai besoin de votre aide chers experts VBA.
j'essaie de faire une macro (mais malheureusement mes compétences sont trés limitées) afin de concaterner toutes les cellules jaunes sur la gauche et en haut d'une cellule dans un range (une boucle parcourera tout le range).
Ceci afin de remplacer la formule Excel dans l'image ci-dessous par une macro.
hpics.li/b923e35
merci d'avance pour votre aide, votre aide me serait d'une trés grande utilité!
A voir également:

1 réponse

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
6 nov. 2015 à 09:29
Bonjour,

Qu'as-tu à reprocher à ta formule Excel ?
La seule chose que je modifierais c'est l'ajout de "$" bien sentis pour pouvoir tirer la formule et que la formule se base toujours sur les cellules à fond jaune.
En VBA le plus simple est d'utiliser... la fonction RechercheV (Application.WorksheetFunction.VLookUp).

A+
0
Bonjour Zoul67,
merci pour ta réponse.
Le pb c'est que les titres (cellule jaunes) en lignes peuvent être déplacées en colonne.
Je m'explique, la construction du tableau sera libre, et j'aimerai qu'à l'aide d'un bouton la donnée soit ramenée de ce fichier. Et tout le monde n'est pas à l'aise avec Excel ici.
Aurais tu une idée pour le faire en VBA?
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
6 nov. 2015 à 10:54
J'ai bien une idée, mais le problème c'est que la construction soit libre...
Et comme dans tes données il y a une concaténation rigide (Alan;manager est différent de manager;Alan), il faudrait penser à toutes les fantaisies qu'auraient tes collègues "pas à l'aise avec Excel".
Je ne suis pas sûr qu'il faille se lancer dans une usine à gaz avec VBA (le moyen que je vois est de trier par ordre croissant tous les champs séparés par des ";" Idem avec la concaténation des cellules jaunes et faire un RechercheV sur cette base.
Ce tri est un peu ennuyant et la construction par l'utilisateur bien que libre devra satisfaire à quelques critères (ex : exhaustivité des champs ; s'il manque le pays, ça ne marchera pas).

Que penses-tu de l'utilisation d'un tableau croisé dynamique ? à partir des données que tu as fournies : https://www.cjoint.com/c/EKgj2vlWaBJ
et on peut faire passer les champs de ligne en colonne, etc.

A+
0
aslaam > Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023
6 nov. 2015 à 12:42
ta réponse est trés complète, et je te remercie vivement pour tes conseils/ reco.
J'aimerai bien commencer par un bout de code avec la concatenation des cellules par couleurs en VBA, et derrière je pense que je pourrai compléter tout seul (comme un grand) avec des conditions supplémentaires peut être par couleur pour chaque colonne suite àla séparation des données du fichier (une colonne name avec une couleur différente de la couleur d'une autre colonne country), et la gestion des codes d'erreur pour avoir un message générique disant que toutes les colonnes ne sont pas représentés...
La solution des tableaux croisés dynamiques est envisageable, mais en core une fois trop compliqué pour eux :(
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
9 nov. 2015 à 11:53
Bonjour,

Je ne suis pas sûr que tu partes dans le bon chemin, mais bon...
Voici du code (utilisation d'une fonction personnalisée) : https://www.cjoint.com/c/EKjkZcXPnkJ
0
bonjour,
désolé pour la réponse tardive.
Je viens de tester, et tu avais raison les permutations des noms de colonne ne sont pas simples à gérer...
0