Concatener les combinaisons d'entêtes

Fermé
daniel_1912 Messages postés 12 Date d'inscription vendredi 28 février 2020 Statut Membre Dernière intervention 3 juin 2020 - Modifié le 29 mai 2020 à 13:51
daniel_1912 Messages postés 12 Date d'inscription vendredi 28 février 2020 Statut Membre Dernière intervention 3 juin 2020 - 3 juin 2020 à 08:50
Bonjour à toutes et tous,

je suis dans l'impasse pour me créer ma propre base de données....je souhaite faire un concat() de mes entêtes de colonnes et de lignes de façon automatique en trouvant toutes les possibilités. Sauf que voilà faire via la formule =concat() je vais perdre un temps infini. D'où ma question n'y a t-il pas un moyen de le faire via vba ou autre ( placer la liste nouvellement formé dans une nouvel onglet "Feuil2")...j'avais pensé à faire cela par le biais d'une boucle mais je n'y arrive pas.
Pour vous donner une idée de la structure de mes fichiers voici quelques images :

La structure de base



Le résultat souhaité (incomplet):
(avec entête dynamique parce que je n'ai pas toujours les même entêtes


D"avance merci et bonne journée

Cordialement,
Daniel

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
29 mai 2020 à 14:16
Bonjour,

Pas besoin de macro pour ça
Tu as juste besoin d'écrire la première cellule en figeant ( à l'aide des $ ) la ligne et la colonne

=CONCATENER($A2;B$1)

Une fois fait, tu utilises la marque de copie ( en bas à droite de la cellule ) puis tu glisses vers la droite pour remplir la première ligne
Puis tu selectionnes la premiere ligne... et tu glisses vers le bas pour remplir le reste






1
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
29 mai 2020 à 14:21
Après, si tu veux récupérer le contenu de ce tableau sur sur une seule colonne, tel que tu nous l'as montré dans ta capture.. oui, un peu de vba pourra t'y aider.
Il "suffit" de faire une boucle sur la plage de cellule
un truc du genre
Sub recup()
Dim i As Integer
Dim rng As Range
Set rng = Range("B2:G19")

i = 40 ' ligne ou coller le resultat
For Each C In rng
 Cells(i, 1).Value = C.Value
 i = i + 1
Next


End Sub
0
daniel_1912 Messages postés 12 Date d'inscription vendredi 28 février 2020 Statut Membre Dernière intervention 3 juin 2020 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
3 juin 2020 à 08:41
Bonjour,
Déjà merci pour le script il fonctionne très bien pour récupérer mes résultats je vais voir pour l'adapter en lui demandent de chercher mes entêtes de colonnes puis de ligne au lieu de ces derniers et pour adapter ceci a des tableaux de taille variable ( ma Némésis en terme de codage vba). en tout cas merci pour le pied à l'étrier.
Bonne journée
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
29 mai 2020 à 16:13
Bonjour à tous les deux

Pour les avoir sur une seule colonne sans macro
https://mon-partage.fr/f/cPA5czSD/

Cdlmnt
1
daniel_1912 Messages postés 12 Date d'inscription vendredi 28 février 2020 Statut Membre Dernière intervention 3 juin 2020
3 juin 2020 à 08:50
Bonjour,
Ha ! Voila qui est intéressant. La formule est un peu compliquée pour un néophyte tel moi je pense pouvoir m'en sortir et adapter tout cela avec un peu de réflexion merci beaucoup.
Bonne journée
0