diviser un colonne en beaucoup avec vba

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

alessandro

XLDnaute Occasionnel
Bonjour a tous
Je souhaiterais avec une macro
diviser en 2 ou 3 ou 4 colonnes. ma colonne
Petit tableau avec example dans fichier joint.

Par avance merci. Cordialement

Alessandro
 

Pièces jointes

Re : diviser un colonne en beaucoup avec vba

Bonjour

le critère pour diviser mes colonnes en n colonnes :
1)le premier element A,B,C,D etc..

2) les chiffres pair sur une colonne, une autre avec les impairs
3)et avec le sens que je indique
Alessandro
 
Re : diviser un colonne en beaucoup avec vba

bonjour alessandro ,Staple1600
un exemple basique a adapter par contre si beaucoup de lettres diffe..il faut faire des boucles pour simplifier le code..

Code:
Sub es()
Dim i As Long
Application.ScreenUpdating = False
For i = 3 To Cells(Rows.Count, 1).End(xlUp).Row
If Right(Cells(i, 1), 1) Mod 2 = 1 And Left(Cells(i, 1), 1) = "A" Then Range("e65536").End(xlUp)(2) = Cells(i, 1)
If Right(Cells(i, 1), 1) Mod 2 = 0 And Left(Cells(i, 1), 1) = "A" Then Range("f65536").End(xlUp)(2) = Cells(i, 1)
If Right(Cells(i, 1), 1) Mod 2 = 1 And Left(Cells(i, 1), 1) = "B" Then Range("H65536").End(xlUp)(2) = Cells(i, 1)
If Right(Cells(i, 1), 1) Mod 2 = 0 And Left(Cells(i, 1), 1) = "B" Then Range("I65536").End(xlUp)(2) = Cells(i, 1)
If Right(Cells(i, 1), 1) Mod 2 = 1 And Left(Cells(i, 1), 1) = "C" Then Range("K65536").End(xlUp)(2) = Cells(i, 1)
If Right(Cells(i, 1), 1) Mod 2 = 0 And Left(Cells(i, 1), 1) = "C" Then Range("L65536").End(xlUp)(2) = Cells(i, 1)
Next i
End Sub
 
Re : diviser un colonne en beaucoup avec vba

Re

Adaptation de la macro de Laetitia pour un nombre non defini de prefixe ( A B C ..)(en ordre quelconque)

Code:
Sub es_b()
Set coll = New Collection
deb = 69
For i = 3 To Cells(Rows.Count, 1).End(xlUp).Row
 On Error Resume Next
   coll.Add Left(Cells(i, 1), 1), CStr(Left(Cells(i, 1), 1))
 On Error GoTo 0
Next i
For n = 1 To coll.Count
numcol = deb
 For i = 3 To Cells(Rows.Count, 1).End(xlUp).Row
 If Right(Cells(i, 1), 1) Mod 2 = 1 And Left(Cells(i, 1), 1) = coll(n) Then Range(Chr(numcol) & "65536").End(xlUp)(2) = Cells(i, 1)
 If Right(Cells(i, 1), 1) Mod 2 = 0 And Left(Cells(i, 1), 1) = coll(n) Then Range(Chr(numcol + 1) & "65536").End(xlUp)(2) = Cells(i, 1)
 Next i
deb = deb + 3
Next n
End Sub
 
Dernière édition:
Re : diviser un colonne en beaucoup avec vba

[bonsoir
le voila
A1001 A1002 B1020 B1019 C1001 C1002
A1003 A1004 B1018 B1017 C1003 C1004
A1005 A1006 B1016 B1015 C1005 C1006
A1007 A1008 B1014 B1013 C1007 C1008
A1009 A1010 B1012 B1011 C1009 C1010
A1011 A1012 B1010 B1009 C1011 C1012

il y a aussi dans l'exemple
Alessandro
 
- 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
3
Affichages
315
Réponses
2
Affichages
114
Réponses
2
Affichages
282
Retour