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

Aexp

XLDnaute Nouveau
Bonjour à tous
Je suis nouveau sur le forum, et je galère un peu pour un copier coller ...
Alors voilà :
j'ai sur une meme feuille des noms de clients en colonne A et leurs adresses de messagerie en colonne B, C, D, etc. (il peut y en avoir plusieurs)
Ce que je souhaite obtenir :
En A1 le nom du client en B1 sa premiere adresse en B2 la deuxieme adresse en B3 la troisième etc.
En A4 le nom du deuxième client (si celui du dessus à 3 adresses), en B4 sa premiere adresse etc.
Merci de votre aide
 
Re : Copier / coller

Bonjour et bienvenue dans le monde de la Cellule

Tu veux donc faire une transposition?

Nous avons cela en rayon.

Un petit fichier exemple de ta part (avec des données bidons, compressé (clic-droit -> Envoyer vers -> Dossiers compressés)
nous éviterai de devoir créer un fichier de test.

Merci donc de mettre la main à la pâte

(une 30 trentaines de clients fictifs suffiront dans un classeur d'une seule feuille)
 
Re : Copier / coller

Re

Erreur funeste
Jamais, Oh Grand Jamais, utiliser la fusion de cellules

Je te mets sur ma liste des fusionneurs en série.


Mais merci d'avoir joint un fichier exemple.


EDITION: voici pour ta peine
Voici comment je ferai (avec une macro)

Code:
Sub a()
Dim i As Long, x As Long
For i = 2 To [A65536].End(xlUp).Row
x = 5 - Application.WorksheetFunction.CountBlank(Cells(i, 2).Resize(, 5))
Cells(i, 2).Resize(, x).Copy
[H65536].End(xlUp)(2).PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
[G65536].End(xlUp)(2).Resize(x) = Cells(i, 1)
Next i
Columns("A:F").Delete
[A1] = "Noms": [B1] = "Domaines"
End Sub
 
Dernière édition:
Re : Copier / coller

Re

Tu as essayé la macro que je t'ai proposé dans mon premier message ??

Pourquoi mets-tu 2 fois ton fichier ??

Je ne suis pas sourd, j'ai bien compris le but visé.

Une version un peu plus complète mais qui saura générer des erreurs

Code:
Sub b()
Dim i As Long, x As Long
Sheets("PoD").Copy after:=Sheets("PoD")
With ActiveSheet
For i = 2 To .[A65536].End(xlUp).Row
x = 5 - Application.WorksheetFunction.CountBlank(Cells(i, 2).Resize(, 5))
.Cells(i, 2).Resize(, x).Copy
.[H65536].End(xlUp)(2).PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
.[G65536].End(xlUp)(2).Resize(x) = Cells(i, 1)
Next i
.Columns("A:F").Delete
.[A1] = "Noms": .[B1] = "Domaines"
.Name = "PoA"
End With
End Sub
 
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

Réponses
10
Affichages
271
Réponses
2
Affichages
346
Réponses
26
Affichages
1 K
Réponses
5
Affichages
472
Réponses
3
Affichages
549
Réponses
5
Affichages
353
Retour