Macro EXCEL
Résolu
jeveuxmontacos
Messages postés
1
Statut
Membre
-
Jeveuxmontacos -
Jeveuxmontacos -
Bonjour à tous !
Please Help!
Je souhaiterai créer une macro sur pour extraire des données d'une cellule et les répartir d'en différentes cellules.
Je vous met en lien un extrait de ma base de données avec la première ligne faite (manuellement) pour vous montrez ce à quoi je m'attends.
http://cjoint.com/data3/3DjqmXi3Gsi.htm
Dites moi si vous avez une solution ou bien tout simplement si vous pensez que cela est réalisable ^^
Merci d'avance!
Please Help!
Je souhaiterai créer une macro sur pour extraire des données d'une cellule et les répartir d'en différentes cellules.
Je vous met en lien un extrait de ma base de données avec la première ligne faite (manuellement) pour vous montrez ce à quoi je m'attends.
http://cjoint.com/data3/3DjqmXi3Gsi.htm
Dites moi si vous avez une solution ou bien tout simplement si vous pensez que cela est réalisable ^^
Merci d'avance!
5 réponses
-
Bonjour
une proposition, avec un problème lorsque le dernier caractère du "nom" est numérique (ces lignes seront à traiter à la main avant/après l'exécution de la macro)
https://www.cjoint.com/?3Djr4tCR7MQ
bonne suite -
Un autre essai valable UNIQUEMENT lorsque les 4 champs numériques sont au format avec 2 chiffres après la virgule
https://www.cjoint.com/?3Djvv5KAvUg
bonne suite -
Bonjour jeveuxmontacos, ccm81,
Je me suis amusé aussi avec ton classeur :
https://www.cjoint.com/?CDjxcVZseJY-
Salut à tous,
gb, un blème sur mon excel avec le . en séparateur décimal.
Au Case 3 il n'aime pas du tout :
col = col + 1: Cells(lig, col).Value = tbl(idx) * 1: col = col + 1
à cause du tbl(idx) * 1 => "0,06"*1.
Avec ça ça passe :Select Case col Case 2 Cells(lig, col).Value = tbl(idx): col = col + 1 Case 3 If InStr(1, tbl(idx), ",") = 0 Then Cells(lig, col).Value = Cells(lig, col).Value & tbl(idx) & " " Else col = col + 1: Cells(lig, col).Value = IIf(Application.DecimalSeparator = ".", Replace(tbl(idx), ",", "."), tbl(idx)) * 1: col = col + 1 End If Case 5, 7 Cells(lig, col).Value = IIf(Application.DecimalSeparator = ".", Replace(tbl(idx), ",", "."), tbl(idx)) * 1: col = col + 1 Case 6 If InStr(1, tbl(idx), ",") = 0 Then Cells(lig, col).Value = Cells(lig, col).Value & tbl(idx) Else Cells(lig, col).Value = (Cells(lig, col).Value & IIf(Application.DecimalSeparator = ".", Replace(tbl(idx), ",", "."), tbl(idx))) * 1: col = col + 1 End If End Select
Des fois que le demandeur soit dans le même cas que moi.
eric -
-
-
-
-
-
Bonjour,
Comme nous n'avons pas de nouvelles, je me suis amusé à mixer la solution de ccm81 et la mienne complétée par la remarque du point décimal d'Éric :
https://www.cjoint.com/?CDlksD9OsXW-
Salut gb,
Je ne sais pas ce que j'avais fumé hier soir mais le complément que je t'avais donné était erroné.
Disons qu'il était bon dans ma config d'hier soir mais pas dans celle de ce matin.
Utiliser Application.International(xlDecimalSeparator) et non Application.DecimalSeparator (qui le séparateur d'excel qu'on active rarement, et non celui des paramètres régionaux)
Sorry ;-)
eric
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Personnellement vos macros ont bien marchés dans mon cas,
Merci à tous pour vos réponses.
Avec tout mon amour,
see ya !