OVH Cloud OVH Cloud

Arrêt provisoire d'une macro

5 réponses
Avatar
Chris
Bonjour,

Je commence à m'initier aux macros.

Je voudrais qu'une macro s'arrête le temps de saisir le contenu d'une
cellule, ou de sélectionner une plage, puis qu'elle continue.

Est-ce possible ?

Merci pour votre aide.

5 réponses

Avatar
ClémentMarcotte
Bonjour,

Je voudrais qu'une macro s'arrête le temps de saisir le contenu d'une
cellule, ou de sélectionner une plage, puis qu'elle continue.



Pour sélectionner une plage en cours d'exécution d'une macro, tu peux
essayer avec application.inputbox (pas juste InputBox) ou avec le contrôle
Refedit.

Désolé, pas d'exemple pour l'insatant. J'ai fait une connerie, il y a deux
jours, je me suis retrouvé sans Internet et avec un écran 16 couleurs, 600 X
480.

Là, je viens juste de réussir à retrouver Internet et WindowsUpdate. J'ai
plus de 27 Megs à ramasser par là.

Office n'est même pas réinstallé.


"Chris" a écrit dans le message de news:


Bonjour,

Je commence à m'initier aux macros.

Est-ce possible ?

Merci pour votre aide.




Avatar
isabelle
bonjour Chris,

oui c'est possible avec cette commande,

Set plg = Application.InputBox(prompt:="Faite votre sélection", Type:=8)

msgbox plg.value 'test pour vérifier la valeur de la plage plg

isabelle


Bonjour,

Je commence à m'initier aux macros.

Je voudrais qu'une macro s'arrête le temps de saisir le contenu d'une
cellule, ou de sélectionner une plage, puis qu'elle continue.

Est-ce possible ?

Merci pour votre aide.




Avatar
Chris
Bonjour,

Merci pour votre aide mais j'ai encore un problème (je débute et je ne suis
pas très douée).

Lorsque j'ai remplacé la ligne Range("A3:H13"). Select par les deux lignes
que vous m'avez données, j'ai le message suivant : Erreur d'exécution 13
Incompatibilité de type.

Voici la macro d'essai d'origine :

Range("A3:H63").Select
Selection.Sort Key1:=Range("E3"), Order1:=xlDescending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A3:H13").Select
Selection.Sort Key1:=Range("B3"), Order1:=xlDescending,
Key2:=Range("C3") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
_
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal,
DataOption2 _
:=xlSortNormal
End Sub


Merci pour votre patience


"isabelle" a écrit dans le message de news:

bonjour Chris,

oui c'est possible avec cette commande,

Set plg = Application.InputBox(prompt:="Faite votre sélection", Type:=8)

msgbox plg.value 'test pour vérifier la valeur de la plage plg

isabelle


Bonjour,

Je commence à m'initier aux macros.

Je voudrais qu'une macro s'arrête le temps de saisir le contenu d'une
cellule, ou de sélectionner une plage, puis qu'elle continue.

Est-ce possible ?

Merci pour votre aide.




Avatar
isabelle
bonjour Chris,

Dim plg As Range 'il faut déclarer les variables
Dim clef As Range
Set plg = Application.InputBox(prompt:="sélection de la plage à trier",
Type:=8)
Set clef = Application.InputBox(prompt:="sélection de la clef de trie",
Type:=8)
plg.Sort Key1:=clef), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Set plg = Nothing ' décharger les variables
Set clef = Nothing

pour être certain que Key1:=Range("E3") fasse partie de la selection.

isabelle


Bonjour,

Merci pour votre aide mais j'ai encore un problème (je débute et je ne suis
pas très douée).

Lorsque j'ai remplacé la ligne Range("A3:H13"). Select par les deux lignes
que vous m'avez données, j'ai le message suivant : Erreur d'exécution 13
Incompatibilité de type.

Voici la macro d'essai d'origine :

Range("A3:H63").Select
Selection.Sort Key1:=Range("E3"), Order1:=xlDescending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A3:H13").Select
Selection.Sort Key1:=Range("B3"), Order1:=xlDescending,
Key2:=Range("C3") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
_
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal,
DataOption2 _
:=xlSortNormal
End Sub


Merci pour votre patience


"isabelle" a écrit dans le message de news:


bonjour Chris,

oui c'est possible avec cette commande,

Set plg = Application.InputBox(prompt:="Faite votre sélection", Type:=8)

msgbox plg.value 'test pour vérifier la valeur de la plage plg

isabelle



Bonjour,

Je commence à m'initier aux macros.

Je voudrais qu'une macro s'arrête le temps de saisir le contenu d'une
cellule, ou de sélectionner une plage, puis qu'elle continue.

Est-ce possible ?

Merci pour votre aide.









Avatar
Chris
Un grand merci, j'y suis arrivée mais il ne faut pas de parenthèse après
clef.

"isabelle" a écrit dans le message de news:

bonjour Chris,

Dim plg As Range 'il faut déclarer les variables
Dim clef As Range
Set plg = Application.InputBox(prompt:="sélection de la plage à trier",
Type:=8)
Set clef = Application.InputBox(prompt:="sélection de la clef de trie",
Type:=8)
plg.Sort Key1:=clef), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Set plg = Nothing ' décharger les variables
Set clef = Nothing

pour être certain que Key1:=Range("E3") fasse partie de la selection.

isabelle


Bonjour,

Merci pour votre aide mais j'ai encore un problème (je débute et je ne
suis pas très douée).

Lorsque j'ai remplacé la ligne Range("A3:H13"). Select par les deux
lignes que vous m'avez données, j'ai le message suivant : Erreur
d'exécution 13 Incompatibilité de type.

Voici la macro d'essai d'origine :

Range("A3:H63").Select
Selection.Sort Key1:=Range("E3"), Order1:=xlDescending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A3:H13").Select
Selection.Sort Key1:=Range("B3"), Order1:=xlDescending,
Key2:=Range("C3") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal,
DataOption2 _
:=xlSortNormal
End Sub


Merci pour votre patience


"isabelle" a écrit dans le message de news:


bonjour Chris,

oui c'est possible avec cette commande,

Set plg = Application.InputBox(prompt:="Faite votre sélection", Type:=8)

msgbox plg.value 'test pour vérifier la valeur de la plage plg

isabelle



Bonjour,

Je commence à m'initier aux macros.

Je voudrais qu'une macro s'arrête le temps de saisir le contenu d'une
cellule, ou de sélectionner une plage, puis qu'elle continue.

Est-ce possible ?

Merci pour votre aide.