Excel(VBA) copier valeurs dans une cellule
Résolu
plastickman
Messages postés
66
Statut
Membre
-
plastickman Messages postés 66 Statut Membre -
plastickman Messages postés 66 Statut Membre -
Bonjour à tous,
J'ai dans la colonne A nommée "rubrique" et dans une colonne B des "option" s'y rapportant, ce qui donne :
Je souhaiterais réaliser un code qui me permettrait d'arriver à ceci:
Quelqu'un a -t-il une petite idée à me soumettre?
Merci,
J'ai dans la colonne A nommée "rubrique" et dans une colonne B des "option" s'y rapportant, ce qui donne :
A B
1 RUBRIQUES OPTIONS
2 Machine 1 option 1
3 option 23
4 option 12
5 Machine 2 option 2
6 option 4
7 Machine 3 option 1
8 option 112
9 option 8
Je souhaiterais réaliser un code qui me permettrait d'arriver à ceci:
A B
1 RUBRIQUES OPTIONS
2 Machine 1 option 1 option 23 option 12
3
4
5 Machine 2 option 2 option 4
6
7 Machine 3 option 1 option 112 option 8
8
9
Quelqu'un a -t-il une petite idée à me soumettre?
Merci,
A voir également:
- Excel(VBA) copier valeurs dans une cellule
- Liste déroulante excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
4 réponses
L'utilisation de la fonction de concaténation d'excel ne suffirait pas à résoudre le problème par hasard ?
Par exmeple: =CONCATENER(E13;F13)
Par exmeple: =CONCATENER(E13;F13)
bonjour
quelque chose comme ça ?
bonne suite
quelque chose comme ça ?
Option Explicit
Const FO = "Feuil1"
Const FB = "Feuil2"
Public Sub GrouperOptions()
Dim derliFO As Long, liFO As Long
Dim liFB As Long
Dim rub As String, opt As String
derliFO = Sheets(FO).Cells(Rows.Count, 2).End(xlUp).Row
liFB = 2
liFO = 2
While liFO < derliFO
rub = Sheets(FO).Cells(liFO, 1).Value
opt = Sheets(FO).Cells(liFO, 2).Value
Sheets(FB).Cells(liFB, 1).Value = rub
Sheets(FB).Cells(liFB, 2).Value = opt
liFO = liFO + 1
While (liFO <= derliFO) And (Sheets(FO).Cells(liFO, 1).Value = "")
opt = opt & " " & Sheets(FO).Cells(liFO, 2).Value
Sheets(FB).Cells(liFB, 2).Value = opt
liFO = liFO + 1
Wend
liFB = liFB + 1
Wend
End Sub
bonne suite
Bonjour plastickman et ccm81
J'arrive un peu tard,
j'ai testé une macro qui fait le tri sur place (dans la même feuille) :
A+
--
Cordialement,
J'arrive un peu tard,
j'ai testé une macro qui fait le tri sur place (dans la même feuille) :
Sub RANGER()
DerLig = Columns(2).Find("*", , , , xlByColumns, xlPrevious).Row
LigMach = 2
Do
LigOpt = LigMach + 1
Do
If LigOpt > DerLig Then Exit Sub
Cells(LigMach, 2) = Cells(LigMach, 2) & "," & Cells(LigOpt, 2)
Rows(LigOpt).Delete Shift:=xlUp
DerLig = DerLig - 1
Loop Until Cells(LigOpt, 1) <> ""
LigMach = LigMach + 1
Loop
End Sub
A+
--
Cordialement,
Bonsoir et merci à vous trois,
Remousse, j'ai bien pensé à CONCATENER, mais j'ai environ 500 lignes à traiter.
CCM81, ça marche très bien, malgré que je n'ai presque rien compris à ta macro ;)
Pilas31, ça marche également, sauf dans le cas où une "rubrique " n'a qu'une seule "option" en face dans la colonne B, à ce moment là, la ligne disparait.
Merci encore,
jp
Remousse, j'ai bien pensé à CONCATENER, mais j'ai environ 500 lignes à traiter.
CCM81, ça marche très bien, malgré que je n'ai presque rien compris à ta macro ;)
Pilas31, ça marche également, sauf dans le cas où une "rubrique " n'a qu'une seule "option" en face dans la colonne B, à ce moment là, la ligne disparait.
Merci encore,
jp