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

Utilisation d'une variable

  • Initiateur de la discussion Initiateur de la discussion pierre17du
  • 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 !

P

pierre17du

Guest
Je suis sur une ComboBox, et pour facilité la modification éventuel du document par des tiers je veux utiliser une variable, sauf qu'il me manque un truc au niveau de la sintaxe:



 
Dernière modification par un modérateur:
Re : Utilisation d'une variable

Bonjour Pierre, bonjour le forum,

Essaie comme ça :
Private ChoisEmployeDebut As String
'rentrer ici les coordonnes de la première cellule de la colonne employé
ChoisEmployeDebut = "AB5"
Private ChoisEmployeDebut As String
'rentrer ici les coordonnes de la dernière cellule de la colonne employé
ChoisEmployeFin = "AB23"



Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

'code pour la selection de nom du personnel
If Not Intersect(Target, Range(ChoisEmployeDebut & ":" & ChoisEmployeFin)) Is Noting Then

[Édition]
Bonjour Pierrot. Oui tu as raison j'avais même pas vu... Désolé
 
Re : Utilisation d'une variable

merci de a proposition, je l'ai tenté mais j'obtien le même résultat que pour moi:


A vrai dire je n'arrive pes à savoir le type de donnée dans Range, est-ce bien une String?
je n'ai encore rien trouvé à ce sujet pour confirmer.🙁
 

Pièces jointes

  • prob.jpg
    33.5 KB · Affichages: 79
  • prob.jpg
    33.5 KB · Affichages: 87
  • prob.jpg
    33.5 KB · Affichages: 86
Re : Utilisation d'une variable

Bonjour les Pierre's, bonjour le forum,

Oui j'avais pas fait attention ! Les définitions des variables doivent être dans la procédure BeforeRightClick. Les déclarations peuvent être en dehors (niveau Module) mais pas les définitions. Essaie comme ça :
Code:
Private ChoisEmployeDebut As String
Private ChoisEmployeDebut As String
 
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
ChoisEmployeDebut = "AB5"
ChoisEmployeFin = "AB23"
If Not Intersect(Target, Range(ChoisEmployeDebut & ":" & ChoisEmployeFin) Is Noting Then
     [A1] = Target.Row
     [B1] = Target.Column
     Cancel = True
     UserForm1.Show
End If
End Sub

ou comme ça:
Code:
Private ChoisEmployeDebut As Range
Private ChoisEmployeDebut As Range
 
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Set ChoisEmployeDebut = Range("AB5")
Set ChoisEmployeFin = Range("AB23")
If Not Intersect(Target, Range(ChoisEmployeDebut ,ChoisEmployeFin) Is Noting Then
     [A1] = Target.Row
     [B1] = Target.Column
     Cancel = True
     UserForm1.Show
End If
End Sub

Mais je comprends pas alors pourquoi utiliser des variables qui correspondent à des adresses en dur ???
 
Dernière édition:
Re : Utilisation d'une variable

Je vais tenter.
Ce fichier va surement étre utilisé par plusieurs personnes différentes, dont un bon nombre ne connnaissent pas la programmation, je voudrais simplifier au mieux les chamgements futurs ( qui, apparemment, ne seront pas nombreux, mais je préfére prendre les devants)
 
Re : Utilisation d'une variable

Bon, grace à toi ça avance un peut, là ( dans les deux cas) il bloque sur :

Code:
If Not Intersect(Target, Range(ChoisEmployeDebut & ":" & ChoisEmployeFin) Is Noting Then
et sur:

Code:
If Not Intersect(Target, Range(ChoisEmployeDebut ,ChoisEmployeFin) Is Noting Then
 
Re : Utilisation d'une variable

Bonjour,

avec un autre type de "Déclaration"
Code:
Option Explicit
Const ChoisEmployeDebut = "AB5"
Const ChoisEmployeFin = "AB23"
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range(ChoisEmployeDebut, ChoisEmployeFin)) Is Nothing Then Exit Sub
    [A1] = Target.Row
    [B1] = Target.Column
    UserForm1.Show
End Sub
 
Re : Utilisation d'une variable

Mes premiers tests me laissent penser que c'est une solution parfaitement fonctionnel, je confirmirais quand ça marchera parfaitement.
Merci encore.
 
Dernière modification par un modérateur:
Re : Utilisation d'une variable

Bonjour le fil, bonjour le forum,

Je ne comprends absolument pas pourquoi l'utilisation de variables (ou même de constantes) et pas :
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("AB5:AB23") Is Nothing Then
 
Re : Utilisation d'une variable

Bonjour
Je vous présente mes excuses pour les bonjours, je n'ai jamais été sur les forums au paravant, et j'étais plus dans une ambiance de chat. désolé.



C'était effectivement le code que j'avais au début; dans mon ducument j'ai des zones actives avec le clique droit; comme il sera utilisé par des personnes ignorant surement l'existance du VBA, je voulais simplifier au plus les modifications résultant de l'ajout de lignes ou de colones. (si vous voulez mieux vous faire une idée de mon probléme (passé) tchéquez la discution précité (où phlaurent55 m'a bien aidé), et imaginez les difficultés, que qqu ne connaisant rien au VBA, aurait eu à ajouter une ligne)

Mais je viens de tomber sur une solution plus sympat encore sur :Ce lien n'existe plus
qui utilise le gestionaire de nom.

Cordialement. P
 
- 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…