Macro EXCEL

Résolu/Fermé
jeveuxmontacos Messages postés 1 Date d'inscription mardi 9 avril 2013 Statut Membre Dernière intervention 9 avril 2013 - Modifié par krazykat le 9/04/2013 à 16:17
 Jeveuxmontacos - 11 avril 2013 à 11:04
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!
A voir également:

5 réponses

ccm81 Messages postés 10879 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 septembre 2024 2 415
9 avril 2013 à 17:59
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
1
ccm81 Messages postés 10879 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 septembre 2024 2 415
9 avril 2013 à 21:23
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
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 700
9 avril 2013 à 23:04
Bonjour jeveuxmontacos, ccm81,

Je me suis amusé aussi avec ton classeur :

https://www.cjoint.com/?CDjxcVZseJY
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 235
9 avril 2013 à 23:26
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
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 700
9 avril 2013 à 23:37
Salut Éric,

Quelle idée de fonctionner en étranger, restons français ;-)

Bon d'accord, pour VBA, je fais un gros effort de traduire en charabia mais sinon azerty sur toute la ligne :)

Merci pour ta traduction, tu la mettras sur la facture fin de mois...

Bonne nuit.
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 235
9 avril 2013 à 23:47
Autant je suis intransigeant sur les accents même les ¨, autant j'ai un faible pour le point décimal.
C'est ma seule concession à la culture anglo-américaine.
Good night ;-)
eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 700
9 avril 2013 à 23:58
Salut Éric,

Presque intransigeant sur les accents car tu l'as oublié sur le pseudo ... mais tu as tout de même mis tes 3 points (décimaux) ;-)
Heureusement que je le mets sur la majuscule...
0
ccm81 Messages postés 10879 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 septembre 2024 2 415
10 avril 2013 à 11:10
Salut gbinforme et Éric

Jolie la solution!

Bonne journée à tous
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 700
11 avril 2013 à 10:20
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
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 235
Modifié par eriiic le 11/04/2013 à 11:04
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jeveuxmontacos
11 avril 2013 à 11:04
Bonjour,

Personnellement vos macros ont bien marchés dans mon cas,

Merci à tous pour vos réponses.

Avec tout mon amour,

see ya !
0