Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro qui demande la zone de traitement

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jpmasclet

XLDnaute Occasionnel
Bonjour,

J'ai un petit souci qui m'est totalement bloquant et je n'arrive pas a trouver la solution.

voila mon probleme :

Je aimerai créer une macro qui me demande la zone ou la cellule sur lequel le traitement va etre fait.

J'espere avoir été clair et vous remercie pour votre aide.
 
Re : Macro qui demande la zone de traitement

Bonjour JPMasclet, bonjour le forum,

Cette macro pourrait peut-être t'aider :

Code:
Sub Macro1()
Dim sel As Range 'déclare la variable sel
Dim ad As String 'déclare la variable ad
 
'définit la variable ad
ad = InputBox("Tapez l'adresse de la plage ou de la cellule. Par exemple A1:G12", "Definir un plage")
If ad = "" Then Exit Sub 'si non renseignée, sort de la procédure
On Error GoTo fin: 'gestion des erreur via la balsie "fin"
Set sel = Range(ad) 'définit la variable sel
sel.Select 'sélectionne la plage sel
Exit Sub 'sort de la procédure
fin: 'balise
MsgBox "adresse non valide !" 'message
End Sub
 
Re : Macro qui demande la zone de traitement

Bonjour jpmasclet,

essaye peut être la méthode "InputBox" comme dans l'exemple ci dessous :

Code:
Sub test()
Dim x As Range
On Error Resume Next
Set x = Application.InputBox("selectionnez une plage", , , , , , , 8)
On Error GoTo 0
If Not x Is Nothing Then MsgBox "ok plage en " & x.Address(0, 0)
End Sub

bonne fin d'après midi
@+
 
Re : Macro qui demande la zone de traitement

Bonjour a vous tous,

Merci pour vos messages, et je vais essayer cela dès maintenant.

Sinon j'ai essayé de faire un code "barbare " qui aurai pu fonctionner mais je n'arrive pas a "rappeler" la zone avant de coller.

Voila mon code , ce sera plus parlant.

Code:
Dim Zone As Range
   Set Zone = Application.InputBox("Sélectionnez une zone de congé !", Type:=8)
    Application.ScreenUpdating = False
    Sheets("Legende").Select
    Range("B1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("2008").Select
    ActiveSheet.Paste
 
Re : Macro qui demande la zone de traitement

Re

pour copier la zone sélectionnée :

Code:
Sub test()
Dim x As Range
On Error Resume Next
Set x = Application.InputBox("selectionnez une plage", , , , , , , 8)
On Error GoTo 0
If Not x Is Nothing Then MsgBox "ok plage en " & x.Address(0, 0)
x.Copy Sheets("2008").Range("A1")
End Sub
 
Re : Macro qui demande la zone de traitement

Re ,

Robert je viens de tester ton code et je t'en remercie, mais celui ci ne correspnd pas a mon besoin.

En faite je veux cliquer sur un bouton , qui me demande de selectionner une plage, ensuite la macro va dans la feuille legende copié la celulle B1 pour aller la coller sur la plage (ou cellule ) précédement selectionnée.

Tu vois ce que je veux dire ?

merci
 
Re : Macro qui demande la zone de traitement

Bonjour Pierrot,

J'ai effectivement regardé ton code, mais je n'arrive pas a comprendre comment apres ton code je peux faire le copier coller que je demande (cf. mon code précédent)

Merci a tout les deux pour votre aide.
 
Re : Macro qui demande la zone de traitement

Bonjour jpmasclet, Robert

le copier coller est dans l'instruction ci dessous présente dans le code :

Code:
x.Copy Sheets("2008").Range("A1")

si tu as sélectionné des cellules, donc la variable "x" est valorisée, et copiée dans "Sheets("2008").Range("A1")" zone de destination de la plage copiée.

bonne journée
@+
 
Re : Macro qui demande la zone de traitement

Re, et encore merci pour ton aide, mais soit j'ai mal mis le code (mais je pense pas), soit mon explication n'etait pas clair et je pense bien que c'est ça.

Pour résumé en fait reel :
J'ai une feuille - LEGENDE - dans laquelle : il y a une 10aine de cellule les une en dessous des autres, qui ont des lettres et des codes couleurs différentes.

DAns ma feuille 2008, il s'agit d'un calendrier.

Je voudrais cliquer sur le bouton "RTT", que un msgbox me demande la zone de congés, une fois cliqué desus, la macro va me chercher dans feuille legende, la case A2 (donc jaune et inscrit RT dedans) pour enfin coller sur la zone "X" selectionné auparavant.

Je pense que cette fois j'ai été plus clair

merci encore
 
Re : Macro qui demande la zone de traitement

Re jpmasclet

ca à l'air d'être l'invers, essaye comme ci dessous :

Code:
Sub test()
Dim x As Range
On Error Resume Next
Set x = Application.InputBox("selectionnez une plage", , , , , , , 8)
On Error GoTo 0
If Not x Is Nothing Then MsgBox "ok plage en " & x.Address(0, 0)
Sheets("Legende").Range("A2").Copy x
End Sub

enfin si j'ai bien compris...x étant la destination...

bon après midi
@+
 
Re : Macro qui demande la zone de traitement

C'est super Pierrot93, c'est excatement ça ,c'etait l'inverse mais je n'arrivais a la faire. merci beaucoup.

Je vais etre gourmand mais petite question, est ce qu'il est possible de faire une liste déroulante directement dans excel (certainement avec fonction de boite a outils controle) de faire une liste type : RTT journée entière / RTT demi journée etc.. et selon le clique que ça lance la macro 1 , 2 , 3 etc.. ,sachant que je dois avoir facilement une 10aine de macros ?

Merci encore pour ton aide précieuse.
 
Re : Macro qui demande la zone de traitement

bon je dois etre surement un peu neuneu 🙂

mais j'ai fait un code :

Code:
Private Sub ComboBox1_Change()

If ComboBox1.Value = "RTT - journée entière" Then
Call RTTJ
End If
If ComboBox1.Value = "RTT - demi journée" Then
Call RTTD
End If

End Sub

je pense que ça solution doit etre pas loin, mais lorsque je clique sur ma liste, elle est vide ....

donc je suis paumé, j'ai du zappé un passage.
 
Re : Macro qui demande la zone de traitement

Bonjour le fil, bonjour le forum,

une méthode :
Tu dois écrire la liste quelque part dans l'onglet (tu peux masquer la colonne après eventuellement)

Ensuite tu passe en mode création et tu double-clique sur la ComboBox. Dans la fenêtre Propriétés, à ListFillRange tu indiques la plage (par exemple : A1:A10).

Tu désactive le mode création et tu cliques sur la liste...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 Macro
Réponses
6
Affichages
313
Réponses
33
Affichages
2 K
Réponses
10
Affichages
644
Réponses
5
Affichages
649
Deleted member 453598
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…