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

S

skippy

Guest
Bonjour à tous

voilà un petit pb que j'ai du mal à résoudre simplement

j'ai 4 colonnes
dans chaque colonne il y a X lignes

je voudrais concaténer
toutes les valeurs ensembles

ex : A1 B1 C1 D1
puis
A1 B1 C1 D2
puis
A1 B1 C1 D3
puis
A1 B1 C2 D1
puis
A1 B1 C2 D2
etc

merci d'avance
 
Bonjour à tous

merci PhiBou pour ce fichier

impressionnant, je pensais connaître excel mais là je suis calmé !! je n'avais jamais vu une formule aussi dingue !!

malheureusement, initialement j'ignore combien de colonne je vais avoir ni combien de ligne par colonne !!

sinon il me faudrait cela en vba si possible

help

désolé, mais merci beaucoup
 
Bonjour le Forum,
Y aurait-il une solution en utilisant 2 feuilles ?:

sur la 1ère,
on entre les colonnes et les lignes manuellement (il faut bien que les données viennent de qq part)
on detecte le nombre de colonnes

sur la 2ème on applique l'exemple de Pascal aprés y avoir collé, en tête de feuille, le récapitulatif des données de la 1ère si nécessaire

A+
ChS
 
Bonjour tout le monde

Bon j'ai réfléchi hier soir et j'ai appliqué ce matin

En principe la macro s'adapte à un nombre de colonnes variable avec un nombre de lignes variable par colonnes.

Seuls contraintes dans l'exemple que je t'ai donné c'est qu'il n'y ait pas d'entête de colonnes (je suis parti de ton exemple où les données commence ligne 1 dans chaque colonne) sinon il faut faire quelques modifs, et que le résultat puisse s'afficher sur une seule feuille soit quand même 16777216 résultats

Tu dis si cela te va

Pascal
 

Pièces jointes

Bonjour à tous

Salut Pascal

bon, je crois que cela est bon !!

il y a juste une chose, lorsque je ne met qu'une ligne (disons dans la colonne 2) cela ne va pas du tout (!!!) il met la valeur de la cellule A1 dans toutes les cellules de la page résultat !!

(quand même mille merci pour ce bout de code)

a++
 
Rebonjour Pascal

voilà, j'ai arrangé le code comme je le désirai

je gère juste le cas où il n'y a qu'une ligne

une partie du code:


For x = 1 To MesColonnes
If Cells(2, x).Value <> "" Then MesLignes = MesLignes * (Sheets("Base").Cells(1, x).End(xlDown).Row)
Next

MonNbre = MesLignes
For y = 1 To MesColonnes

If Cells(2, y).Value <> "" Then
MaLigne = Sheets("Base").Cells(1, y).End(xlDown).Row
Else
MaLigne = 1
End If



encore merci pour ton aide

a+++
 
Re

Exact, j'avais oublié cette condition.
En principe je fais MaLigne = Sheets("Base").Cells(65536, y).End(xlUp).Row

Mais je ne savais pas pas si tu avais des choses dans les lignes en dessous.

Donc soit tu fais comme tu as fait soit si tu n'as que tes valeurs sur ta feuille soit tu peux utiliser le nouveau fichier

Bon courage

Pascal
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
269
  • Question Question
Réponses
5
Affichages
520
Retour