Macro pour exécuter le convertisseur

Bonsoir,

Tout est dit dans le titre, je pensais pouvoir créer une macro pour "automatiser" le convertisseur mais cela ne marche pas.

J'ai indiqué le processus dans le tableur joint.

Quelqu'un a la solution ?

Cordialement

bonjour,

quel est le problème ? j'ai testé avec le fichier que tu as mis, la conversion se fait bien me semble-t-il.

quel est le problème ? j'ai testé avec le fichier que tu as mis, la conversion se fait bien me semble-t-il.

Tu as raison, je me suis mal exprimé : en effet la macro fonctionne à merveille mais toujours pour la colonne sélectionnée lors de la création de la macro.

Mon souci, c'est que je souhaite choisir une colonne quelconque et pouvoir exécuter la macro "conversion" !

Le problème est de modifier le code de telle manière à ne pas être bloqué sur une colonne précise.

J'espère que c'est plus clair et en attendant je vous souhaite une excellente journée.

Bonjour,

ton code qui se trouve dans le fichier que tu as envoyé, s'exécute sur la plage sélectionnée. Tu dois donc sélectionner la plage qui t'intéresse avant de lancer la macro.

ton code qui se trouve dans le fichier que tu as envoyé, s'exécute sur la plage sélectionnée. Tu dois donc sélectionner la plage qui t'intéresse avant de lancer la macro.

J'avais pensé à cette solution qui est acceptable pour modifier ponctuellement une colonne mais quand c'est 8 colonnes à modifier (issues d'un copier/coller) et ce régulièrement.... je recherche une macro qui s'exécute à partir d'une colonne sélectionnée....

A priori, je pense que c'est possible mais peut-être par un VBA et pas par une simple macro

re-bonjour,

voici une macro qui convertit plusieurs colonnes d'une plage donnée. plage que tu peux définir dans le code en adaptant l'instruction range ou plage que tu peux sélectionner avant de lancer la macro, dans ce cas il faut oter le ' devant l'instruction 'set plage=selection

Sub Macro2()
    Set plage = Range("C6:G30")  'adapter la plage éventuellement
    'Set plage = Selection 'activer cette instruction si souhait de sélectionner dynamiquement la plage avant l'exécution de la macro
    For Each col In plage.Columns
        col.TextToColumns Destination:=col.Cells(1, 1), DataType:=xlFixedWidth, _
                          FieldInfo:=Array(0, 1), DecimalSeparator:=",", TrailingMinusNumbers:=True
    Next col
End Sub

Super ce code qui permet de "traiter" en un seul clic toutes les colonnes d'une plage donnée.

En pratique, si je fais le copier/coller toujours à la même place, je lance la macro et c'est ok

et à moi de reprendre la zone convertie....

Apparemment le code doit intégrer la plage et ne peut pas se lancer à partir d'une sélection quelconque (autrement dit, il n'y a pas de code permettant de retenir une sélection de colonnes faite manuellement) C'est sans doute mal exprimé mais c'est juste pour comprendre !

re-bonjour,

Apparemment le code doit intégrer la plage et ne peut pas se lancer à partir d'une sélection quelconque (autrement dit, il n'y a pas de code permettant de retenir une sélection de colonnes faite manuellement) C'est sans doute mal exprimé mais c'est juste pour comprendre !

si, en adaptant le code comme ceci

Sub Macro2()
    Set plage = Selection
    For Each col In plage.Columns
        col.TextToColumns Destination:=col.Cells(1, 1), DataType:=xlFixedWidth, _
                          FieldInfo:=Array(0, 1), DecimalSeparator:=",", TrailingMinusNumbers:=True
    Next col
End Sub

la macro prendra la plage sélectionnée (qui peut contenir plusieurs colonnes) en compte.

si, en adaptant le code comme ceci

C'est exactement ce que je recherchais BRAVO

Cela va me permettre de "travailler" beaucoup plus facilement et rapidement.

Merci et excellente journée.

Rechercher des sujets similaires à "macro executer convertisseur"