Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2922 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel VBA - Double clique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Excel VBA - Double clique

n°1363813
didieraucu​n
Posté le 10-05-2006 à 21:14:56  profilanswer
 

Bonsoir à tous,
j'ai trouvé sur le net une macro sympa :  :)  
 
" Comment faire une macro qui mettrait un X dans une cellule vide avec un double clic et qui
enleverait ce X avec un nouveau double clic ?  
 A mettre dans le module de la feuille
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
     On Error Resume Next
     If IsEmpty(ActiveCell.Value) Then
      ActiveCell.Value = "X"
     ElseIf ActiveCell.Value = "X" Then
ActiveCell.Value = ""
     End If
Cancel = True
End Sub
 
 Eric Jeanne,   (N°1095)  "
 
J'ai essayé de mettre cette macro dans mon fichier Excel mais ça ne marche pas ! [img]\":(\[/img]
Pourriez vous m'aider pour me dire où est l'erreur.  merci
 
http://img113.imageshack.us/img113/6739/clipboard12hr.jpg


Message édité par didieraucun le 10-05-2006 à 21:17:22
mood
Publicité
Posté le 10-05-2006 à 21:14:56  profilanswer
 

n°1363853
PGreg
Posté le 10-05-2006 à 22:29:17  profilanswer
 

Salut,  
 
 Pour que ton code marche, il faut que tu le mette dans l' objet "ThisWorkbook".
 

n°1364624
galopin01
Posté le 11-05-2006 à 20:23:03  profilanswer
 

bonsoir,
Il faut mettre cette macro dans le module de la feuille concernée. (Alt + F11)
A+


---------------
roger
n°1364642
didieraucu​n
Posté le 11-05-2006 à 21:08:37  profilanswer
 

Oui, ça marche.
Question supplémentaire :  
Comment faire pour obtenir "Oui" avec un double-clique et "Non" avec un second double-clique
Toujours avec la même condition que la cellule soit vide au début
 

n°1364663
galopin01
Posté le 11-05-2006 à 21:56:18  profilanswer
 

Tu remplaces "X" par "Oui" et "" par "Non"


---------------
roger
n°1366566
didieraucu​n
Posté le 15-05-2006 à 15:38:20  profilanswer
 

Ca marche, mais une seule fois  :(
la cellule vide passe à OUI en double-cliquant
passe à NON en re-double-cliquant
si on re-double-clique, il ne se passe plus rien.
 
Je souhaiterais qu'elle passe de OUI à NON et vice versa en double-cliquant.

n°1366576
DamienCYS
Posté le 15-05-2006 à 15:47:38  profilanswer
 

c'est ton if isempty car après le premier click le contenu n'est plus vide  
donc ca devrait marcher :
 
If IsEmpty(ActiveCell.Value) Then  
      ActiveCell.Value = "OUI"  
Else  
  If ActiveCell.Value = "OUI" Then  
     ActiveCell.Value = "NON"  
  else
     ActiveCell.Value = "OUI"  
  end if
End If  

n°1366875
didieraucu​n
Posté le 15-05-2006 à 19:51:19  profilanswer
 

Ca marche .... mais la condition de la cellule vide ne fonctionne plus

n°1366917
kiki29
Posté le 15-05-2006 à 20:53:18  profilanswer
 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If IsEmpty(ActiveCell.Value) Then
        ActiveCell.Value = "OUI"
    ElseIf ActiveCell.Value = "OUI" Then
        ActiveCell.Value = "NON"
    ElseIf ActiveCell.Value = "NON" Then
        ActiveCell.Value = ""
    End If
    Cancel = True
End Sub
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Select Case ActiveCell.Value
        Case ""
            ActiveCell.Value = "OUI"
        Case "OUI"
            ActiveCell.Value = "NON"
        Case "NON"
            ActiveCell.Value = ""
    End Select
    Cancel = True
End Sub


Message édité par kiki29 le 15-05-2006 à 20:57:36
n°1367131
DamienCYS
Posté le 16-05-2006 à 09:28:22  profilanswer
 

didieraucun a écrit :

Ca marche .... mais la condition de la cellule vide ne fonctionne plus


 
ma solution marche mais celle de kiki29 avec le select case est plus simple sauf que dans ton cas il te faut mette oui dans le cas ou le contenu de la cellule est NON, tu peut même utiliser ce code et même si l'utilisateur rentre une valeur dans la cellule le double click marchera encore :  
 
Select Case ActiveCell.Value
  Case "NON"
    ActiveCell.Value = "OUI"
  Case "OUI"
    ActiveCell.Value = "NON"
  Case Else
    ActiveCell.Value = "OUI"
  End Select
End Sub

mood
Publicité
Posté le 16-05-2006 à 09:28:22  profilanswer
 

n°1368015
didieraucu​n
Posté le 16-05-2006 à 17:56:39  profilanswer
 

Merci à tous.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel VBA - Double clique

 

Sujets relatifs
ecrire un long titre dans une page excel en phpenorme probleme excel
[VBA] Appel dynamique à une procédureFermer fichier excel pendant exécution macro
[VBA EXCEL] Accéder aux éléments de dessin d'un graphique Excel[Excel] couper coller
[VBA ACCESS] Créer une table à partir des noms de fichiersArrondir un double
Plus de sujets relatifs à : Excel VBA - Double clique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR