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 !

Re : concatener (macro)

Bonjour Matoupitou, le forum
oui on peut faire ce que tu veux mais tu veux quoi, ton fichier est bien mais maintenant tu ne veux tout de même pas concaténer 10000 références sur une ligne?
un petit exemple de ce que tu souhaites obtenir et une explication dans le fichier et on va te faire cela
a+
papou 😀
 
Re : concatener (macro)

merci bcp
ben si ce sont parfois 10000 réfs que je dois injecter dans une appli pour avoir les infos produits
j'ai besoin d'avoir ces 10000 réfs comme cela :
0731454995023;0731454995122;0042284848527;0028947689867;0731453126022;0042284817622;0731453616325;0042283824621;0042284354523;0731451335525;0042284248228;0731453680128;0602498458037;0731451934322;0731453775725;0601215310924;0044001437823;0600753072936;0042281543623;;;;;;;;;;;;;; que je puisse ensuite sélectionner et copier/coller

dans l'idéal un bouton commande "concatener" puis dans une case le résultat comme ci dessus (que je colle 50réfs ou 10000)
merci merci c'est trop lour de le faire à la main!
 
Re : concatener (macro)

Re

En mettent concat en string dans la macro on devrait pouvoir concatener 10000 * 13 caracteres
Toutefois l'affichage dans la cellule sera limité
Comment injecte-tu le resultat de la concatenation ?
 

Pièces jointes

Re : concatener (macro)

Bonjour le fil,

Sous Excel 2003 et 2007, le nombre maximum de caractères d'une cellule est 32 767 :

Spécifications et limites relatives à Excel - Excel - Microsoft Office

Quant à la macro de concaténation, on peut éviter une boucle avec la fonction Join :

Code:
Sub test()
Dim tablo
tablo = Application.Transpose(Range("A1", [A65536].End(xlUp)))
If Application.CountA(tablo) > 1 Then [B1] = Join(tablo, ";") Else: [B1] = [A1]
End Sub

Nota : sous Excel 2003, je n'ai pas pu ouvrir le fichier de kiki29.

A+
 
Re : concatener (macro)

ah mais c pas gentil ça! et loin de moi ce trait de caractère détrompez-vs!

comment puis-je sélectionner toute ma concatenation sans utiliser la souris dans la barre de formule puique qu'à priori tout ne s'affichera pas?

qq1 peut-il m'aider ? GRAND merci
 
Re : concatener (macro)

Re,

Salut pierrejean, et merci d'avoir mis ma macro dans ton fichier.

Puisqu'il n'est pas possible de stocker plus de 32767 caractères dans une cellule Excel, le mieux est de stocker le résultat dans le presse-papiers par cette macro :

Code:
Sub Concatener_dans_presse_papiers()
Dim tablo, d As New DataObject
tablo = Application.Transpose(Range("A1", [A65536].End(xlUp)))
If Application.CountA(tablo) > 1 Then d.SetText Join(tablo, ";") Else: d.SetText [A1]
d.PutInClipboard 'stockage dans le presse-papiers
End Sub

Ensuite il suffira d'exécuter la commande Coller dans une autre application : Word ou mieux WordPad.

Le fichier joint contient 5000 données, mais il fonctionnera sans problème avec 10000.

Edit : on peut aussi coller dans le bloc-notes (fichier texte). Voir le fichier Resultat(1).txt joint.

A+
 

Pièces jointes

Dernière édition:
- 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

Discussions similaires

B
Réponses
4
Affichages
884
Balek69
B
T
Réponses
5
Affichages
1 K
Thomexcel
T
D
  • Question Question
2 3
Réponses
31
Affichages
4 K
darknigthmare
D
J
  • Question Question
Réponses
0
Affichages
1 K
Jérôme57
J
R
Réponses
2
Affichages
755
Ragnarr
R
N
Réponses
0
Affichages
679
N
Retour