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

Demander selection Cellule

  • Initiateur de la discussion Initiateur de la discussion dureiken
  • Date de début Date de début

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 !

D

dureiken

Guest
Bonjour,

comme la fonction recherche n'a pas l'air de marcher sur le forum, je fais un new topic :

je voudrai savoir comment faire une simple macro qui demande à l'utilisateur de selectionner une cellule puis qui selectionne les colonnes X à Y de cette ligne et qui change leur couleur par exemple ?

Merci d'avance
 
Re : Demander selection Cellule

Bonjour,

comme la fonction recherche n'a pas l'air de marcher sur le forum (...)

Ah bon... Pas remarqué 🙄

Cette macro, à placer dans le code de la feuille, fait très exactement ce que vous avez demandé :

Code:
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
With ActiveCell
  If .Address <> "$U$100" Then
    MsgBox "Sélectionner la cellule U100"
  Else
    With Range("X" & .Row, "Y" & .Row).Interior
      .ColorIndex = IIf(.ColorIndex = 3, 5, 3)
    End With
  End If
End With
End Sub

A+
 
Re : Demander selection Cellule

Merci pour votre réponse

je n'ai pas réussi à adapter votre code à mon utilisation. j'ai cherché un peu sur le net et j'ai trouvé ce bout de code :
Code:
Private Sub Modifier_Click()

Dim Plage As Range
On Error Resume Next
Set Plage = _
Application.InputBox("Sélectionnez une plage de cellules", , , , , , , 8)
If Not Plage Is Nothing Then MsgBox Plage.Address
End Sub

Qui s'active lorsque j'appuie sur mon bouton et propose bien de selectionner une cellule.
Je voudrai donc à la suite adapter votre bout de code
Code:
With Plage("B" & .Row, "AM" & .Row).Interior
.ColorIndex = IIf(.ColorIndex = 3, 5, 3)
End With

afin d'effectuer la tâche demandée mais cela ne marche pas.

Merci
 
Re : Demander selection Cellule

Super merci beaucoup !

serait-il possible de demander la selection que d'une seule cellule et de renvoyer une erreur si une plage est selectionnée ? afin de vérouiller un peu la chose ?

Merci
 
Dernière modification par un modérateur:
Re : Demander selection Cellule

Bonjour le fil, le forum,

Autre solution :

Code:
Sub Modifier_Click()
    Dim Plage As Range
    On Error Resume Next
1    Set Plage = _
    Application.InputBox("Sélectionnez une cellule", , , , , , , 8)
    If Not Plage Is Nothing Then
        [COLOR="Red"]If Plage.Count > 1 Then _
          MsgBox "UNE cellule !", 48: Set Plage = Nothing: GoTo 1[/COLOR]
        With Range("B" & Plage.Row, "AM" & Plage.Row).Interior
        .ColorIndex = IIf(.ColorIndex = 3, 5, 3)
        End With
    End If
End Sub

A+
 
Re : Demander selection Cellule

Salut

je reviens sur ce code, j'ai utilisé le suivant :

Code:
Sub Valider_Click()
    
    Sheets("En_Cours").Select
    
'****CODE DE SELECTION PAR L'UTIILISTEUR DE LA CELLULE
    Dim Plage As Range
    On Error Resume Next
1    Set Plage = _
    Application.InputBox("Sélectionnez une cellule", , , , , , , 8)
    
    '*ON TESTE SI UNE SEULE CELLULE EST SELECTIONNE SINON ON DEMANDE DE RECOMMENCER
    If Not Plage Is Nothing Then
        If Plage.Count > 1 Then _
          MsgBox "UNE cellule !", 48: Set Plage = Nothing: GoTo 1

qui marche bien, mais lorsque je fais Cancel, il execute quand même la suite de ma macro, alors que je voudrai qu'il arrête.
 
Re : Demander selection Cellule

Bonjour dureiken, le forum,

Modifier comme suit :

Code:
Sub Valider_Click()
    
    Sheets("En_Cours").Select
    
'****CODE DE SELECTION PAR L'UTIILISTEUR DE LA CELLULE
    Dim Plage As Range
    On Error Resume Next
1   Set Plage = _
    Application.InputBox("Sélectionnez une cellule", , , , , , , 8)
    [COLOR="Red"]If Plage Is Nothing Then Exit Sub[/COLOR]
    
    '*ON TESTE SI UNE SEULE CELLULE EST SELECTIONNE SINON ON DEMANDE DE RECOMMENCER
    If Plage.Count > 1 Then _
      MsgBox "UNE cellule !", 48: Set Plage = Nothing: GoTo 1
    With Range("B" & Plage.Row, "AM" & Plage.Row).Interior
      .ColorIndex = IIf(.ColorIndex = 3, 5, 3)
    End With
    
End Sub

Cela dit, pour votre macro précédente, il suffisait de mettre la suite du code avant le End If...

A+

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…