Concatener cellules jaunes a gauche et en haut d'une cellule
aslaam
-
Zoul67 Messages postés 2001 Statut Membre -
Zoul67 Messages postés 2001 Statut Membre -
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é!
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:
- Concatener cellules jaunes a gauche et en haut d'une cellule
- Concatener deux cellules excel - Guide
- Windows 11 barre des taches a gauche - Guide
- Les textes ne doivent pas être en retrait à droite et à gauche - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
1 réponse
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+
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+
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?
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+
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 :(
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
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...