Problème VBA excel
Résolu
josh64
Messages postés
56
Date d'inscription
Statut
Membre
Dernière intervention
-
josh64 Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
josh64 Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voilà je débute sur VBA.
J'ai un tableau qui commence à la cellule A2. Dans cette colonne il y a des noms d'objets qui sont de ce type : premiernom_deuxièmenom_num_annee.extention
Ce que j'aimerais faire c'est extraire chaque partie et mettre ces parties dans les cellules voisines à chaque rafraichissement du tableau, donc à la création de nouvelles lignes.
En A1 on aurait ça :
premiernom_deuxièmenom_num_annee.extention
Après exécution de la macro :
En B1 on aurait ça :
premiernom
En C1 on aurait ça :
deuxièmenom
En D2 on aurait ça :
num_annee
J'ai essayé de faire un truc du genre :
Sub extraction()
Dim Tableau() As String
Dim i As Integer
Tableau = Split("Ai", "_")
For i = 0 To ....
Next i
....
Mais bon mes connaissances en VBA sont trop faible pour le moment...
Merci de votre aide.
voilà je débute sur VBA.
J'ai un tableau qui commence à la cellule A2. Dans cette colonne il y a des noms d'objets qui sont de ce type : premiernom_deuxièmenom_num_annee.extention
Ce que j'aimerais faire c'est extraire chaque partie et mettre ces parties dans les cellules voisines à chaque rafraichissement du tableau, donc à la création de nouvelles lignes.
En A1 on aurait ça :
premiernom_deuxièmenom_num_annee.extention
Après exécution de la macro :
En B1 on aurait ça :
premiernom
En C1 on aurait ça :
deuxièmenom
En D2 on aurait ça :
num_annee
J'ai essayé de faire un truc du genre :
Sub extraction()
Dim Tableau() As String
Dim i As Integer
Tableau = Split("Ai", "_")
For i = 0 To ....
Next i
....
Mais bon mes connaissances en VBA sont trop faible pour le moment...
Merci de votre aide.
A voir également:
- Problème VBA excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
Bonjour
Pour le fun
Tu as 2 séparateurs le point et l'underscore
le problème est que tu veux num_annee dans une seule cellule avec le séparateur
d'où une espèce de cascade
la macro est paramétrée pour pouvoir utiliser une boucle
(il y a d'autres solutions)
suivant le cas pour convertir en plusieurs colonnes avec toujours le m^séparateur, tu peux utiliser l'enregistreur de macro avec données-convertir-délimité et l'aménager en supprimant les paramètres non utiles....
par exemple si tout les séparateurs étaient un "_" et ne seraient qu-à cà:
Michel
Pour le fun
Tu as 2 séparateurs le point et l'underscore
le problème est que tu veux num_annee dans une seule cellule avec le séparateur
d'où une espèce de cascade
la macro est paramétrée pour pouvoir utiliser une boucle
(il y a d'autres solutions)
Sub separer(source, cible) separe = Split(source, ".") source.ClearContents separe = Split(separe(0), "_") With cible .Value = separe(0) .Offset(0, 1) = separe(1) .Offset(0, 2) = separe(2) & "_" & separe(3) End With End Sub Sub test() For cptr=1 to 5 separer Range("A" & cptr), Range("B" & cptr) next End Sub
suivant le cas pour convertir en plusieurs colonnes avec toujours le m^séparateur, tu peux utiliser l'enregistreur de macro avec données-convertir-délimité et l'aménager en supprimant les paramètres non utiles....
par exemple si tout les séparateurs étaient un "_" et ne seraient qu-à cà:
Range("A1").TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _ OtherChar:="_", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1))
Michel