Macro VBA transformer une colonne de nom en une liste
Fermé
rabax7
Messages postés
3
Date d'inscription
lundi 29 juillet 2013
Statut
Membre
Dernière intervention
29 juillet 2013
-
29 juil. 2013 à 15:54
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 - 29 juil. 2013 à 18:18
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 - 29 juil. 2013 à 18:18
A voir également:
- Macro VBA transformer une colonne de nom en une liste
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Nom de l'adresse - Forum Consommation & Internet
- Liste déroulante en cascade - Guide
7 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
29 juil. 2013 à 16:19
29 juil. 2013 à 16:19
Bonjour,
le but serait d'avoir "USD; JPY; CAD; GBP ; ZAR ; SEK" dans la même cellule
une facon de faire, code dans VBA de la feuille: adaptez colonne et cellules
le but serait d'avoir "USD; JPY; CAD; GBP ; ZAR ; SEK" dans la même cellule
une facon de faire, code dans VBA de la feuille: adaptez colonne et cellules
Private Sub Worksheet_Change(ByVal Target As Range) 'derniere cellule non vide colonne A derlig = Range("A" & Rows.Count).End(xlUp).Row 'test changement If Not Application.Intersect(Target, Range("A1:A" & derlig)) Is Nothing Then 'raz cellule liste Range("B2") = "" 'mise en forme: x a adapter suivant 1ere cellule For x = 1 To derlig - 1 Range("B2") = Range("B2") & Range("A" & x) & ";" Next x Range("B2") = Range("B2") & Range("A" & derlig) End If End Sub
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
29 juil. 2013 à 16:08
29 juil. 2013 à 16:08
bonjour,
pourquoi tu ne fais pas un copier-coller spécial en cochant transposé??
pourquoi tu ne fais pas un copier-coller spécial en cochant transposé??
rabax7
Messages postés
3
Date d'inscription
lundi 29 juillet 2013
Statut
Membre
Dernière intervention
29 juillet 2013
29 juil. 2013 à 16:17
29 juil. 2013 à 16:17
ca ne me permet pas d'avoir
dans une seule cellule
"USD; JPY; CAD; GBP ; ZAR ; SEK"
l'idée enfait et de pouvoir faire un copier coller de cette ligne pour un extraction comtpable et je dois inserer une seule ligne.
Si je fais le copier-coller spécial transposé, le problème est le même mais juste cette fois ci horizontalement.
dans une seule cellule
"USD; JPY; CAD; GBP ; ZAR ; SEK"
l'idée enfait et de pouvoir faire un copier coller de cette ligne pour un extraction comtpable et je dois inserer une seule ligne.
Si je fais le copier-coller spécial transposé, le problème est le même mais juste cette fois ci horizontalement.
rabax7
Messages postés
3
Date d'inscription
lundi 29 juillet 2013
Statut
Membre
Dernière intervention
29 juillet 2013
29 juil. 2013 à 16:45
29 juil. 2013 à 16:45
J'arrive aps à faire fonctionner la macro, je dois la mettre dans la feuille, ok mais après comment je fait pour la lancer. quand ej fais play, il me demande de choisir une autre macro?
La réponse doit surement être évidente :/
La réponse doit surement être évidente :/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
29 juil. 2013 à 16:49
29 juil. 2013 à 16:49
Re,
si vous modifiez ou ajoutez du texte dans une cellule de la colonne que vous avez choisie pour les noms, cela lance la macro Private Sub Worksheet_Change(ByVal Target As Range), c'est excel qui gere la chose. Au depart si votre colonne est deja renseignee, il faut modifier une cellule pour que cela demarre.
A+
si vous modifiez ou ajoutez du texte dans une cellule de la colonne que vous avez choisie pour les noms, cela lance la macro Private Sub Worksheet_Change(ByVal Target As Range), c'est excel qui gere la chose. Au depart si votre colonne est deja renseignee, il faut modifier une cellule pour que cela demarre.
A+
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
29 juil. 2013 à 17:02
29 juil. 2013 à 17:02
Bonjour
la fin sans boucle
la fin sans boucle
Dim Derlig As Integer, liste() Derlig = Columns("A").Find("*", , , , , xlPrevious).Row liste = Application.Transpose(Range("A1:A" & Derlig).Value) Range("B2") = Join(liste, " ; ")
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
29 juil. 2013 à 17:11
29 juil. 2013 à 17:11
Bonjour michel_m,
merci du tuyau Join
merci du tuyau Join
Le Pingou
Messages postés
12187
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 novembre 2024
1 449
29 juil. 2013 à 18:18
29 juil. 2013 à 18:18
Bonjour à tous,
Une autre possibilité, la chaine concaténer se mettre à gauche de la première valeur à traiter.
La procédure :
Une autre possibilité, la chaine concaténer se mettre à gauche de la première valeur à traiter.
La procédure :
Sub creerchaine() Set donnees = Application.InputBox("A l'aide de la souris, selectionnez la plage de valeurs (sans les entêtes de colonnes).", Type:=8) donnees.Interior.ColorIndex = 6 For Each c In donnees chaine = chaine & c & ";" Next chaine = Left(chaine, Len(chaine) - 1) col = donnees.Column li = donnees.Row Range(Cells(li, col), Cells(li, col)).Offset(0, 1) = chaine End Sub