Du vba encore du vba

Résolu/Fermé
saolaneducado Messages postés 21 Date d'inscription jeudi 2 janvier 2014 Statut Membre Dernière intervention 23 février 2016 - 20 janv. 2014 à 15:52
 saolaneducado - 20 janv. 2014 à 18:45
Bonjour à tous.

Je sollicite à nouveaux les experts.

Je joint mon fichier pour mieux comprendre. Dans la Feuille 'Clients" je sélectionne un client avec une croix(double clic) ce qui me permet ensuite en cliquant sur le bouton cotation de récupérer les infos clients.
Mon problème et afin d'éviter les problèmes je voudrais (j'aimerai qu'il soit possible d'avoir qu'une seule croix dans toute la colonne. en fait, je veux interdire la sélection de deux clients en même temps.

https://www.cjoint.com/?0AupUCB0nrN

Merci pour votre aide

3 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 20/01/2014 à 16:05
Bonjour,

VBA feuille Clients

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Not Intersect(Target, Range("Afficher")) Is Nothing Then
'mise en memoire pour modif meme cellule
memtarget = Target
Range("Afficher").Cells.ClearContents
If memtarget = "" Then Target = "x" Else Target = ""
End If
End Sub
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
20 janv. 2014 à 16:14
Bonjour,

Modification de la procédure dans le module de la feuille "Clients"
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Not Intersect(Target, Range("Afficher")) Is Nothing Then
Application.EnableEvents = False
If Target = "" Then
Range("Afficher").ClearContents
Target = "x"
Else
Target = ""
End If
Application.EnableEvents = True
End If
End Sub

A+
0
saolaneducado
20 janv. 2014 à 18:45
merci à tous les deux.
Les deux solutions fonctionnent parfaitement.

Je suis vraiment impressionné. J'aimerai beaucoup avoir ces compétences.

Merci encore
0