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

Retour