Quelqu'un pourrait-il me dire comment cr=E9er une macro=20
Excel qui, de fa=E7on r=E9p=E9titive modifierait les valeurs=20
contenues dans les cellules d'une colonne. Par exemple,=20
la colonne est constitu=E9e de valeurs en format standard=20
telles que -25,12 EUR que je voudrais transformer en=20
25,12.=20
Je lance l'enregistreur de macros, s=E9lectionne le mode=20
relatif puis me positionne sur la 1=E8re cellule de ma=20
colonne. Avec la souris je me positionne dans la barre de=20
formule pour =E9diter la valeur: touche clavier FIN, puis 4=20
fois la touche clavier RETOUR ARRIERE. J'ai effac=E9 EUR et=20
l'espace qui le pr=E9c=E8de. Maintenant touche clavier HOME=20
puis touche clavier SUPPR. Je valide avec ENTREE puis me=20
positionne sur la cellule suivante avec FLECHE BAS.=20
Lorsque je lance ma macro sur la cellule suivante, tout=20
ce que j'obtiens est la recopie de la cellule que je=20
viens d'=E9diter, comme si les commandes d'=E9dition ne=20
pouvaient =EAtre incluse dans une macro. Que se passe-t'il??
Merci =E0 qui m'aidera.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ChrisV
Bonjour Igor M.
Sur la plage de cellules sélectionnées...
Sub converT() Dim c As Range Application.ScreenUpdating = False For Each c In Selection c.Value = Abs(Mid(c, 1, Application.Find(" ", c) - 1)) Next c End Sub
ChrisV
"Igor M." a écrit dans le message de news: 631901c3e5c5$c6a9ca40$ Quelqu'un pourrait-il me dire comment créer une macro Excel qui, de façon répétitive modifierait les valeurs contenues dans les cellules d'une colonne. Par exemple, la colonne est constituée de valeurs en format standard telles que -25,12 EUR que je voudrais transformer en 25,12. Je lance l'enregistreur de macros, sélectionne le mode relatif puis me positionne sur la 1ère cellule de ma colonne. Avec la souris je me positionne dans la barre de formule pour éditer la valeur: touche clavier FIN, puis 4 fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et l'espace qui le précède. Maintenant touche clavier HOME puis touche clavier SUPPR. Je valide avec ENTREE puis me positionne sur la cellule suivante avec FLECHE BAS. Lorsque je lance ma macro sur la cellule suivante, tout ce que j'obtiens est la recopie de la cellule que je viens d'éditer, comme si les commandes d'édition ne pouvaient être incluse dans une macro. Que se passe-t'il?? Merci à qui m'aidera.
Bonjour Igor M.
Sur la plage de cellules sélectionnées...
Sub converT()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Selection
c.Value = Abs(Mid(c, 1, Application.Find(" ", c) - 1))
Next c
End Sub
ChrisV
"Igor M." <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 631901c3e5c5$c6a9ca40$a601280a@phx.gbl...
Quelqu'un pourrait-il me dire comment créer une macro
Excel qui, de façon répétitive modifierait les valeurs
contenues dans les cellules d'une colonne. Par exemple,
la colonne est constituée de valeurs en format standard
telles que -25,12 EUR que je voudrais transformer en
25,12.
Je lance l'enregistreur de macros, sélectionne le mode
relatif puis me positionne sur la 1ère cellule de ma
colonne. Avec la souris je me positionne dans la barre de
formule pour éditer la valeur: touche clavier FIN, puis 4
fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et
l'espace qui le précède. Maintenant touche clavier HOME
puis touche clavier SUPPR. Je valide avec ENTREE puis me
positionne sur la cellule suivante avec FLECHE BAS.
Lorsque je lance ma macro sur la cellule suivante, tout
ce que j'obtiens est la recopie de la cellule que je
viens d'éditer, comme si les commandes d'édition ne
pouvaient être incluse dans une macro. Que se passe-t'il??
Merci à qui m'aidera.
Sub converT() Dim c As Range Application.ScreenUpdating = False For Each c In Selection c.Value = Abs(Mid(c, 1, Application.Find(" ", c) - 1)) Next c End Sub
ChrisV
"Igor M." a écrit dans le message de news: 631901c3e5c5$c6a9ca40$ Quelqu'un pourrait-il me dire comment créer une macro Excel qui, de façon répétitive modifierait les valeurs contenues dans les cellules d'une colonne. Par exemple, la colonne est constituée de valeurs en format standard telles que -25,12 EUR que je voudrais transformer en 25,12. Je lance l'enregistreur de macros, sélectionne le mode relatif puis me positionne sur la 1ère cellule de ma colonne. Avec la souris je me positionne dans la barre de formule pour éditer la valeur: touche clavier FIN, puis 4 fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et l'espace qui le précède. Maintenant touche clavier HOME puis touche clavier SUPPR. Je valide avec ENTREE puis me positionne sur la cellule suivante avec FLECHE BAS. Lorsque je lance ma macro sur la cellule suivante, tout ce que j'obtiens est la recopie de la cellule que je viens d'éditer, comme si les commandes d'édition ne pouvaient être incluse dans une macro. Que se passe-t'il?? Merci à qui m'aidera.
Igor M.
-----Message d'origine----- Bonjour Igor M.
Sur la plage de cellules sélectionnées...
Sub converT() Dim c As Range Application.ScreenUpdating = False For Each c In Selection c.Value = Abs(Mid(c, 1, Application.Find(" ", c) - 1))
Next c End Sub
Merci ChrisV,
Je comprends à peu près ce que vous voulez faire: appliquer une transformation de chaînes dans une boucle For Next correspondant à une zone sélectionnée. Je ne suis pas familier (c'est peu dire) avec VB et ne sais absolument pas mettre en oeuvre votre solution: comment accéder à VB pour placer ce code (dans VB, le menu Fichier ne me propose pas NOUVEAU). J'ai essayé de créer un fichier code VB en créant une pseudo macro avec le clavier, puis, avec un copier/coller d'effacer le code ainsi créé et de le remplacer par le vôtre. Ca ne marche pas, ça serait trop simple. N'est-il vraiment pas possible d'enregistrer dans une macro créée au clavier, les touches d'édition? Merci tout de même. Cordialement. Igor M.
ChrisV
"Igor M." a écrit dans le message de
news: 631901c3e5c5$c6a9ca40$ Quelqu'un pourrait-il me dire comment créer une macro Excel qui, de façon répétitive modifierait les valeurs contenues dans les cellules d'une colonne. Par exemple, la colonne est constituée de valeurs en format standard telles que -25,12 EUR que je voudrais transformer en 25,12. Je lance l'enregistreur de macros, sélectionne le mode relatif puis me positionne sur la 1ère cellule de ma colonne. Avec la souris je me positionne dans la barre de formule pour éditer la valeur: touche clavier FIN, puis 4 fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et l'espace qui le précède. Maintenant touche clavier HOME puis touche clavier SUPPR. Je valide avec ENTREE puis me positionne sur la cellule suivante avec FLECHE BAS. Lorsque je lance ma macro sur la cellule suivante, tout ce que j'obtiens est la recopie de la cellule que je viens d'éditer, comme si les commandes d'édition ne pouvaient être incluse dans une macro. Que se passe- t'il??
Merci à qui m'aidera.
.
-----Message d'origine-----
Bonjour Igor M.
Sur la plage de cellules sélectionnées...
Sub converT()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Selection
c.Value = Abs(Mid(c, 1, Application.Find(" ",
c) - 1))
Next c
End Sub
Merci ChrisV,
Je comprends à peu près ce que vous voulez faire:
appliquer une transformation de chaînes dans une boucle
For Next correspondant à une zone sélectionnée.
Je ne suis pas familier (c'est peu dire) avec VB et ne
sais absolument pas mettre en oeuvre votre solution:
comment accéder à VB pour placer ce code (dans VB, le
menu Fichier ne me propose pas NOUVEAU). J'ai essayé de
créer un fichier code VB en créant une pseudo macro avec
le clavier, puis, avec un copier/coller d'effacer le code
ainsi créé et de le remplacer par le vôtre. Ca ne marche
pas, ça serait trop simple.
N'est-il vraiment pas possible d'enregistrer dans une
macro créée au clavier, les touches d'édition?
Merci tout de même.
Cordialement.
Igor M.
ChrisV
"Igor M." <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 631901c3e5c5$c6a9ca40$a601280a@phx.gbl...
Quelqu'un pourrait-il me dire comment créer une macro
Excel qui, de façon répétitive modifierait les valeurs
contenues dans les cellules d'une colonne. Par exemple,
la colonne est constituée de valeurs en format standard
telles que -25,12 EUR que je voudrais transformer en
25,12.
Je lance l'enregistreur de macros, sélectionne le mode
relatif puis me positionne sur la 1ère cellule de ma
colonne. Avec la souris je me positionne dans la barre de
formule pour éditer la valeur: touche clavier FIN, puis 4
fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et
l'espace qui le précède. Maintenant touche clavier HOME
puis touche clavier SUPPR. Je valide avec ENTREE puis me
positionne sur la cellule suivante avec FLECHE BAS.
Lorsque je lance ma macro sur la cellule suivante, tout
ce que j'obtiens est la recopie de la cellule que je
viens d'éditer, comme si les commandes d'édition ne
pouvaient être incluse dans une macro. Que se passe-
t'il??
Sub converT() Dim c As Range Application.ScreenUpdating = False For Each c In Selection c.Value = Abs(Mid(c, 1, Application.Find(" ", c) - 1))
Next c End Sub
Merci ChrisV,
Je comprends à peu près ce que vous voulez faire: appliquer une transformation de chaînes dans une boucle For Next correspondant à une zone sélectionnée. Je ne suis pas familier (c'est peu dire) avec VB et ne sais absolument pas mettre en oeuvre votre solution: comment accéder à VB pour placer ce code (dans VB, le menu Fichier ne me propose pas NOUVEAU). J'ai essayé de créer un fichier code VB en créant une pseudo macro avec le clavier, puis, avec un copier/coller d'effacer le code ainsi créé et de le remplacer par le vôtre. Ca ne marche pas, ça serait trop simple. N'est-il vraiment pas possible d'enregistrer dans une macro créée au clavier, les touches d'édition? Merci tout de même. Cordialement. Igor M.
ChrisV
"Igor M." a écrit dans le message de
news: 631901c3e5c5$c6a9ca40$ Quelqu'un pourrait-il me dire comment créer une macro Excel qui, de façon répétitive modifierait les valeurs contenues dans les cellules d'une colonne. Par exemple, la colonne est constituée de valeurs en format standard telles que -25,12 EUR que je voudrais transformer en 25,12. Je lance l'enregistreur de macros, sélectionne le mode relatif puis me positionne sur la 1ère cellule de ma colonne. Avec la souris je me positionne dans la barre de formule pour éditer la valeur: touche clavier FIN, puis 4 fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et l'espace qui le précède. Maintenant touche clavier HOME puis touche clavier SUPPR. Je valide avec ENTREE puis me positionne sur la cellule suivante avec FLECHE BAS. Lorsque je lance ma macro sur la cellule suivante, tout ce que j'obtiens est la recopie de la cellule que je viens d'éditer, comme si les commandes d'édition ne pouvaient être incluse dans une macro. Que se passe- t'il??
Merci à qui m'aidera.
.
ChrisV
Re,
...comment accéder à VB pour placer ce code...
Copier le code Sub converT() Clic-droit sur un onglet quelconque du classeur puis, Visualiser le code Dans la nouvelle fenêtre, par les menus, Insertion/Module Coller, dans la fenêtre principale (en dessous de Général) Alt+F11 pour retourner dans le classeur Excel Sélectionner la zone à traiter Par les menus, Outils/Macro/Macros... Sélectionner la macro converT, puis Exécuter
ChrisV
"Igor M." a écrit dans le message de news: 618101c3e5d3$2b1b5ea0$
-----Message d'origine----- Bonjour Igor M.
Sur la plage de cellules sélectionnées...
Sub converT() Dim c As Range Application.ScreenUpdating = False For Each c In Selection c.Value = Abs(Mid(c, 1, Application.Find(" ", c) - 1))
Next c End Sub
Merci ChrisV,
Je comprends à peu près ce que vous voulez faire: appliquer une transformation de chaînes dans une boucle For Next correspondant à une zone sélectionnée. Je ne suis pas familier (c'est peu dire) avec VB et ne sais absolument pas mettre en oeuvre votre solution: comment accéder à VB pour placer ce code (dans VB, le menu Fichier ne me propose pas NOUVEAU). J'ai essayé de créer un fichier code VB en créant une pseudo macro avec le clavier, puis, avec un copier/coller d'effacer le code ainsi créé et de le remplacer par le vôtre. Ca ne marche pas, ça serait trop simple. N'est-il vraiment pas possible d'enregistrer dans une macro créée au clavier, les touches d'édition? Merci tout de même. Cordialement. Igor M.
ChrisV
"Igor M." a écrit dans le message de
news: 631901c3e5c5$c6a9ca40$ Quelqu'un pourrait-il me dire comment créer une macro Excel qui, de façon répétitive modifierait les valeurs contenues dans les cellules d'une colonne. Par exemple, la colonne est constituée de valeurs en format standard telles que -25,12 EUR que je voudrais transformer en 25,12. Je lance l'enregistreur de macros, sélectionne le mode relatif puis me positionne sur la 1ère cellule de ma colonne. Avec la souris je me positionne dans la barre de formule pour éditer la valeur: touche clavier FIN, puis 4 fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et l'espace qui le précède. Maintenant touche clavier HOME puis touche clavier SUPPR. Je valide avec ENTREE puis me positionne sur la cellule suivante avec FLECHE BAS. Lorsque je lance ma macro sur la cellule suivante, tout ce que j'obtiens est la recopie de la cellule que je viens d'éditer, comme si les commandes d'édition ne pouvaient être incluse dans une macro. Que se passe- t'il??
Merci à qui m'aidera.
.
Re,
...comment accéder à VB pour placer ce code...
Copier le code Sub converT()
Clic-droit sur un onglet quelconque du classeur puis, Visualiser le code
Dans la nouvelle fenêtre, par les menus, Insertion/Module
Coller, dans la fenêtre principale (en dessous de Général)
Alt+F11 pour retourner dans le classeur Excel
Sélectionner la zone à traiter
Par les menus, Outils/Macro/Macros...
Sélectionner la macro converT, puis Exécuter
ChrisV
"Igor M." <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 618101c3e5d3$2b1b5ea0$a501280a@phx.gbl...
-----Message d'origine-----
Bonjour Igor M.
Sur la plage de cellules sélectionnées...
Sub converT()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Selection
c.Value = Abs(Mid(c, 1, Application.Find(" ",
c) - 1))
Next c
End Sub
Merci ChrisV,
Je comprends à peu près ce que vous voulez faire:
appliquer une transformation de chaînes dans une boucle
For Next correspondant à une zone sélectionnée.
Je ne suis pas familier (c'est peu dire) avec VB et ne
sais absolument pas mettre en oeuvre votre solution:
comment accéder à VB pour placer ce code (dans VB, le
menu Fichier ne me propose pas NOUVEAU). J'ai essayé de
créer un fichier code VB en créant une pseudo macro avec
le clavier, puis, avec un copier/coller d'effacer le code
ainsi créé et de le remplacer par le vôtre. Ca ne marche
pas, ça serait trop simple.
N'est-il vraiment pas possible d'enregistrer dans une
macro créée au clavier, les touches d'édition?
Merci tout de même.
Cordialement.
Igor M.
ChrisV
"Igor M." <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 631901c3e5c5$c6a9ca40$a601280a@phx.gbl...
Quelqu'un pourrait-il me dire comment créer une macro
Excel qui, de façon répétitive modifierait les valeurs
contenues dans les cellules d'une colonne. Par exemple,
la colonne est constituée de valeurs en format standard
telles que -25,12 EUR que je voudrais transformer en
25,12.
Je lance l'enregistreur de macros, sélectionne le mode
relatif puis me positionne sur la 1ère cellule de ma
colonne. Avec la souris je me positionne dans la barre de
formule pour éditer la valeur: touche clavier FIN, puis 4
fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et
l'espace qui le précède. Maintenant touche clavier HOME
puis touche clavier SUPPR. Je valide avec ENTREE puis me
positionne sur la cellule suivante avec FLECHE BAS.
Lorsque je lance ma macro sur la cellule suivante, tout
ce que j'obtiens est la recopie de la cellule que je
viens d'éditer, comme si les commandes d'édition ne
pouvaient être incluse dans une macro. Que se passe-
t'il??
Copier le code Sub converT() Clic-droit sur un onglet quelconque du classeur puis, Visualiser le code Dans la nouvelle fenêtre, par les menus, Insertion/Module Coller, dans la fenêtre principale (en dessous de Général) Alt+F11 pour retourner dans le classeur Excel Sélectionner la zone à traiter Par les menus, Outils/Macro/Macros... Sélectionner la macro converT, puis Exécuter
ChrisV
"Igor M." a écrit dans le message de news: 618101c3e5d3$2b1b5ea0$
-----Message d'origine----- Bonjour Igor M.
Sur la plage de cellules sélectionnées...
Sub converT() Dim c As Range Application.ScreenUpdating = False For Each c In Selection c.Value = Abs(Mid(c, 1, Application.Find(" ", c) - 1))
Next c End Sub
Merci ChrisV,
Je comprends à peu près ce que vous voulez faire: appliquer une transformation de chaînes dans une boucle For Next correspondant à une zone sélectionnée. Je ne suis pas familier (c'est peu dire) avec VB et ne sais absolument pas mettre en oeuvre votre solution: comment accéder à VB pour placer ce code (dans VB, le menu Fichier ne me propose pas NOUVEAU). J'ai essayé de créer un fichier code VB en créant une pseudo macro avec le clavier, puis, avec un copier/coller d'effacer le code ainsi créé et de le remplacer par le vôtre. Ca ne marche pas, ça serait trop simple. N'est-il vraiment pas possible d'enregistrer dans une macro créée au clavier, les touches d'édition? Merci tout de même. Cordialement. Igor M.
ChrisV
"Igor M." a écrit dans le message de
news: 631901c3e5c5$c6a9ca40$ Quelqu'un pourrait-il me dire comment créer une macro Excel qui, de façon répétitive modifierait les valeurs contenues dans les cellules d'une colonne. Par exemple, la colonne est constituée de valeurs en format standard telles que -25,12 EUR que je voudrais transformer en 25,12. Je lance l'enregistreur de macros, sélectionne le mode relatif puis me positionne sur la 1ère cellule de ma colonne. Avec la souris je me positionne dans la barre de formule pour éditer la valeur: touche clavier FIN, puis 4 fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et l'espace qui le précède. Maintenant touche clavier HOME puis touche clavier SUPPR. Je valide avec ENTREE puis me positionne sur la cellule suivante avec FLECHE BAS. Lorsque je lance ma macro sur la cellule suivante, tout ce que j'obtiens est la recopie de la cellule que je viens d'éditer, comme si les commandes d'édition ne pouvaient être incluse dans une macro. Que se passe- t'il??
Merci à qui m'aidera.
.
Igor M.
Ca fonctionne parfaitement, merci de vos explications claires. Mais n'y a-t-il pas moyen de faire la même chose avec une macro enregistrée à partir du clavier: Il y a une quinzaine d'années et sous DOS (l'époque des dinosaures quoi), j'utilisais un petit logiciel nommé Rapid File (distribué par Ashton Tate je crois) et qui faisait exactement cela sans aucun mystère. Encore merci Igor M.
-----Message d'origine----- Re,
...comment accéder à VB pour placer ce code...
Copier le code Sub converT() Clic-droit sur un onglet quelconque du classeur puis, Visualiser le code
Dans la nouvelle fenêtre, par les menus, Insertion/Module Coller, dans la fenêtre principale (en dessous de Général)
Alt+F11 pour retourner dans le classeur Excel Sélectionner la zone à traiter Par les menus, Outils/Macro/Macros... Sélectionner la macro converT, puis Exécuter
ChrisV
"Igor M." a écrit dans le message de
news: 618101c3e5d3$2b1b5ea0$
-----Message d'origine----- Bonjour Igor M.
Sur la plage de cellules sélectionnées...
Sub converT() Dim c As Range Application.ScreenUpdating = False For Each c In Selection c.Value = Abs(Mid(c, 1, Application.Find(" ", c) - 1))
Next c End Sub
Merci ChrisV,
Je comprends à peu près ce que vous voulez faire: appliquer une transformation de chaînes dans une boucle For Next correspondant à une zone sélectionnée. Je ne suis pas familier (c'est peu dire) avec VB et ne sais absolument pas mettre en oeuvre votre solution: comment accéder à VB pour placer ce code (dans VB, le menu Fichier ne me propose pas NOUVEAU). J'ai essayé de créer un fichier code VB en créant une pseudo macro avec le clavier, puis, avec un copier/coller d'effacer le code ainsi créé et de le remplacer par le vôtre. Ca ne marche pas, ça serait trop simple. N'est-il vraiment pas possible d'enregistrer dans une macro créée au clavier, les touches d'édition? Merci tout de même. Cordialement. Igor M.
ChrisV
"Igor M." a écrit dans le message de
news: 631901c3e5c5$c6a9ca40$ Quelqu'un pourrait-il me dire comment créer une macro Excel qui, de façon répétitive modifierait les valeurs contenues dans les cellules d'une colonne. Par exemple, la colonne est constituée de valeurs en format standard telles que -25,12 EUR que je voudrais transformer en 25,12. Je lance l'enregistreur de macros, sélectionne le mode relatif puis me positionne sur la 1ère cellule de ma colonne. Avec la souris je me positionne dans la barre de
formule pour éditer la valeur: touche clavier FIN, puis 4
fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et
l'espace qui le précède. Maintenant touche clavier HOME puis touche clavier SUPPR. Je valide avec ENTREE puis me positionne sur la cellule suivante avec FLECHE BAS. Lorsque je lance ma macro sur la cellule suivante, tout ce que j'obtiens est la recopie de la cellule que je viens d'éditer, comme si les commandes d'édition ne pouvaient être incluse dans une macro. Que se passe- t'il??
Merci à qui m'aidera.
.
.
Ca fonctionne parfaitement, merci de vos explications
claires.
Mais n'y a-t-il pas moyen de faire la même chose avec une
macro enregistrée à partir du clavier: Il y a une
quinzaine d'années et sous DOS (l'époque des dinosaures
quoi), j'utilisais un petit logiciel nommé Rapid File
(distribué par Ashton Tate je crois) et qui faisait
exactement cela sans aucun mystère.
Encore merci
Igor M.
-----Message d'origine-----
Re,
...comment accéder à VB pour placer ce code...
Copier le code Sub converT()
Clic-droit sur un onglet quelconque du classeur puis,
Visualiser le code
Dans la nouvelle fenêtre, par les menus, Insertion/Module
Coller, dans la fenêtre principale (en dessous de
Général)
Alt+F11 pour retourner dans le classeur Excel
Sélectionner la zone à traiter
Par les menus, Outils/Macro/Macros...
Sélectionner la macro converT, puis Exécuter
ChrisV
"Igor M." <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 618101c3e5d3$2b1b5ea0$a501280a@phx.gbl...
-----Message d'origine-----
Bonjour Igor M.
Sur la plage de cellules sélectionnées...
Sub converT()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Selection
c.Value = Abs(Mid(c, 1, Application.Find(" ",
c) - 1))
Next c
End Sub
Merci ChrisV,
Je comprends à peu près ce que vous voulez faire:
appliquer une transformation de chaînes dans une boucle
For Next correspondant à une zone sélectionnée.
Je ne suis pas familier (c'est peu dire) avec VB et ne
sais absolument pas mettre en oeuvre votre solution:
comment accéder à VB pour placer ce code (dans VB, le
menu Fichier ne me propose pas NOUVEAU). J'ai essayé de
créer un fichier code VB en créant une pseudo macro avec
le clavier, puis, avec un copier/coller d'effacer le code
ainsi créé et de le remplacer par le vôtre. Ca ne marche
pas, ça serait trop simple.
N'est-il vraiment pas possible d'enregistrer dans une
macro créée au clavier, les touches d'édition?
Merci tout de même.
Cordialement.
Igor M.
ChrisV
"Igor M." <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 631901c3e5c5$c6a9ca40$a601280a@phx.gbl...
Quelqu'un pourrait-il me dire comment créer une macro
Excel qui, de façon répétitive modifierait les valeurs
contenues dans les cellules d'une colonne. Par exemple,
la colonne est constituée de valeurs en format standard
telles que -25,12 EUR que je voudrais transformer en
25,12.
Je lance l'enregistreur de macros, sélectionne le mode
relatif puis me positionne sur la 1ère cellule de ma
colonne. Avec la souris je me positionne dans la barre
de
formule pour éditer la valeur: touche clavier FIN, puis
4
fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR
et
l'espace qui le précède. Maintenant touche clavier HOME
puis touche clavier SUPPR. Je valide avec ENTREE puis me
positionne sur la cellule suivante avec FLECHE BAS.
Lorsque je lance ma macro sur la cellule suivante, tout
ce que j'obtiens est la recopie de la cellule que je
viens d'éditer, comme si les commandes d'édition ne
pouvaient être incluse dans une macro. Que se passe-
t'il??
Ca fonctionne parfaitement, merci de vos explications claires. Mais n'y a-t-il pas moyen de faire la même chose avec une macro enregistrée à partir du clavier: Il y a une quinzaine d'années et sous DOS (l'époque des dinosaures quoi), j'utilisais un petit logiciel nommé Rapid File (distribué par Ashton Tate je crois) et qui faisait exactement cela sans aucun mystère. Encore merci Igor M.
-----Message d'origine----- Re,
...comment accéder à VB pour placer ce code...
Copier le code Sub converT() Clic-droit sur un onglet quelconque du classeur puis, Visualiser le code
Dans la nouvelle fenêtre, par les menus, Insertion/Module Coller, dans la fenêtre principale (en dessous de Général)
Alt+F11 pour retourner dans le classeur Excel Sélectionner la zone à traiter Par les menus, Outils/Macro/Macros... Sélectionner la macro converT, puis Exécuter
ChrisV
"Igor M." a écrit dans le message de
news: 618101c3e5d3$2b1b5ea0$
-----Message d'origine----- Bonjour Igor M.
Sur la plage de cellules sélectionnées...
Sub converT() Dim c As Range Application.ScreenUpdating = False For Each c In Selection c.Value = Abs(Mid(c, 1, Application.Find(" ", c) - 1))
Next c End Sub
Merci ChrisV,
Je comprends à peu près ce que vous voulez faire: appliquer une transformation de chaînes dans une boucle For Next correspondant à une zone sélectionnée. Je ne suis pas familier (c'est peu dire) avec VB et ne sais absolument pas mettre en oeuvre votre solution: comment accéder à VB pour placer ce code (dans VB, le menu Fichier ne me propose pas NOUVEAU). J'ai essayé de créer un fichier code VB en créant une pseudo macro avec le clavier, puis, avec un copier/coller d'effacer le code ainsi créé et de le remplacer par le vôtre. Ca ne marche pas, ça serait trop simple. N'est-il vraiment pas possible d'enregistrer dans une macro créée au clavier, les touches d'édition? Merci tout de même. Cordialement. Igor M.
ChrisV
"Igor M." a écrit dans le message de
news: 631901c3e5c5$c6a9ca40$ Quelqu'un pourrait-il me dire comment créer une macro Excel qui, de façon répétitive modifierait les valeurs contenues dans les cellules d'une colonne. Par exemple, la colonne est constituée de valeurs en format standard telles que -25,12 EUR que je voudrais transformer en 25,12. Je lance l'enregistreur de macros, sélectionne le mode relatif puis me positionne sur la 1ère cellule de ma colonne. Avec la souris je me positionne dans la barre de
formule pour éditer la valeur: touche clavier FIN, puis 4
fois la touche clavier RETOUR ARRIERE. J'ai effacé EUR et
l'espace qui le précède. Maintenant touche clavier HOME puis touche clavier SUPPR. Je valide avec ENTREE puis me positionne sur la cellule suivante avec FLECHE BAS. Lorsque je lance ma macro sur la cellule suivante, tout ce que j'obtiens est la recopie de la cellule que je viens d'éditer, comme si les commandes d'édition ne pouvaient être incluse dans une macro. Que se passe- t'il??
Merci à qui m'aidera.
.
.
ChrisV
Re,
Pour certaines actions... oui, pour d'autres notamment les boucles (comme ici le For Each/Next), non !
ChrisV
"Igor M." a écrit dans le message de news: 628501c3e5e1$facce480$ Ca fonctionne parfaitement, merci de vos explications claires. Mais n'y a-t-il pas moyen de faire la même chose avec une macro enregistrée à partir du clavier: Il y a une quinzaine d'années et sous DOS (l'époque des dinosaures quoi), j'utilisais un petit logiciel nommé Rapid File (distribué par Ashton Tate je crois) et qui faisait exactement cela sans aucun mystère. Encore merci Igor M.
Re,
Pour certaines actions... oui, pour d'autres notamment les boucles (comme
ici le For Each/Next), non !
ChrisV
"Igor M." <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 628501c3e5e1$facce480$a501280a@phx.gbl...
Ca fonctionne parfaitement, merci de vos explications
claires.
Mais n'y a-t-il pas moyen de faire la même chose avec une
macro enregistrée à partir du clavier: Il y a une
quinzaine d'années et sous DOS (l'époque des dinosaures
quoi), j'utilisais un petit logiciel nommé Rapid File
(distribué par Ashton Tate je crois) et qui faisait
exactement cela sans aucun mystère.
Encore merci
Igor M.
Pour certaines actions... oui, pour d'autres notamment les boucles (comme ici le For Each/Next), non !
ChrisV
"Igor M." a écrit dans le message de news: 628501c3e5e1$facce480$ Ca fonctionne parfaitement, merci de vos explications claires. Mais n'y a-t-il pas moyen de faire la même chose avec une macro enregistrée à partir du clavier: Il y a une quinzaine d'années et sous DOS (l'époque des dinosaures quoi), j'utilisais un petit logiciel nommé Rapid File (distribué par Ashton Tate je crois) et qui faisait exactement cela sans aucun mystère. Encore merci Igor M.