Concatenage et fonction match

bonjour, je suis (déjà) de retour avec un autre casse tête vba.

J'ai besoin de concatener des données issues d'une feuille "donnée" sur une autre feuille "concat" avec comme conditions que les valeurs = "0" soient concaténées en "000".

J'effectue tout cela avec une formule "manuelle" que je modifie et étire au grès des besoins car j'ai des variations du nombre de ligne ou de colonne.

Comment faire (avec le fichier exemple joint ) pour que le concaténage soit automatique de la feuille "donnée" vers la feuille "concat" et qu'il y ai un controle de type "match" pour que les valeurs concaténées attérissent au bon endroit de ma feuille concat même si j'ai des ajouts ou des suppréssions de colonnes/lignes dans ma feuille "donnée"?

En vous remerciant.

(je sais j'abuse )

Bonjour

Tu n'abuses pas...Le Forum est fait pour cela.

Regardes si cette solution par formules convient.

Cordialelent

Merci pour ta solution qui fonctionne tip top mais j'arrive pas à étendre la ligne rose marker au delà de la colonne G (j'ai une erreur de données non disponible).

Par contre je pensais à une sub que j'aurais pû adapter mais je me rends compte que j'ai pas été bon dans ma définition de mon objectif.

En fait j'ai besoin d'obtenir un format particulier pour exporter en format .TXT et utiliser dans d'autres logiciels.

Il faut que la ligne rose marker apparaisse en vertical dans la colonne A, les nom en dessous et les donnés en colonne ordonné dans le même ordre que les "markers"(mais transposé).

Je joint un exemple détaillé.

Mon ambition était de créer une sub de mise en forme chargée de récupérer les markers et les noms, puis récupérer avec une autre sub les données avec concaténage et contrôle "match".

Mais une solution par formules m'irai tout aussi bien, mais je ne savais pas qu'on pouvait faire du "match" avec....

Désolé pour le flou artistique de la demande initiale

Bonjour

Au vu de cette nouvelle demande, je laisse la place aux spécialistes VBA.

Cordialement

Je viens de passer un bon moment sur ta proposition, car si je ne l'avais pas envisagé comme ça cela reste très intéressant et je pourrais tout aussi bien travailler à partir d'un formulaire de base.

Cependant j'ai beau farfouiller, je n'arrive pas à modifier ta proposition selon 2 axes:

Quand j'étend les formules pour augmenter le nombre de nom (bleu) ou de marker (mauve), tout s'incrémente bien.

Mais quand j'étend le concaténage (jaune) tout fonctionne verticalement mais horizontalement seul les marker 1 à 6 récupèrent correctement les données et j'ai une erreur à partir du marker 7 = "valeur non disponible"

Quand j'essaye de passer les "Marker" en position verticale comme dans mon 2e fichier exemple j'ai soit une erreur soit une cellule vierge...mais là ça vient probablement du fait que je ne connait pas du tout cette fonction et que je ne dois pas faire suivre les bons paramêtres.

Pourrait tu m'éclairer...

Bonjour

Pour ce qui est de ta première question concernant la plage de formules en jaune

La formule initiale était

=SI(OU(B$1="";$A2="");"";TEXTE(DECALER(donnée!$A$2;EQUIV($A2;Nom;0);EQUIV(B$1;donnée!$B$1:$M$1;0));"000")&TEXTE(DECALER(donnée!$A$2;EQUIV($A2;Nom;0);EQUIV(B$1;donnée!$B$1:$M$1;0)+1);"000"))

ce qui limite la recherche à la colonne M de la Feuille donnée (et la colonne M correspond au Marker6

Pour étendre la recherche, il faut modifier et remplacer M par CC (ou autre) ou au max par IV)

=SI(OU(B$1="";$A2="");"";TEXTE(DECALER(donnée!$A$2;EQUIV($A2;Nom;0);EQUIV(B$1;donnée!$B$1:$IV$1;0));"000")&TEXTE(DECALER(donnée!$A$2;EQUIV($A2;Nom;0);EQUIV(B$1;donnée!$B$1:$IV$1;0)+1);"000"))

L'exemple est joint

Pour la seconde question, tu parles de la plage rose pour les Markers en colonne. Cependant, sur ton second fichier, tu donne somme indication "Etc…variable de 1 à 30 lignes". et ensuite, la liste des noms.

Ceci étant il est difficile de définir la position des Marker et celle des noms avec précision, d'où la difficulté.

Précise si le titre de la colonne des noms est "POPULATION" ou "Nom", cela permettra l'identification du début de la plage concernée par le tableau.

Peut-être est-il aussi possible de laisser la place jusqu'à 30 Marker et donc d'avoir un fichier fixe avec le titre des noms à la cellule A21 ou A32.

Ensuite, je regarderai

Cordialement

Bonjour

En complément de mon prédédent message, une solution avec ta nouvelle présentation

(Les formules sont un peu plus compliquées)

Cordialement

Super, ça va beaucoup m'aider!

La plage "marker" étant dynamique, je créerai un fichier modèle avec les markers "fixes" spécifique au projet...c'est un moindre mal

Merci encore

Rechercher des sujets similaires à "concatenage fonction match"