XL 2019 VBA SI (If) multiple plage

  • Initiateur de la discussion Initiateur de la discussion jeff.k
  • 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 !

jeff.k

XLDnaute Nouveau
Bonjour a tous,

Tout d'abord merci au forum XLD j'ai trouvé beaucoup de réponses ici. J’espère que vous pourrez m'aider

Voici mon problème, je veux tester si une valeur existe déjà dans un plage et le plage change suivant l'utilisateur.
Tant que je n'utilise pas les If la procédure fonctionne, donc le problème vient de la, et à l'utilisation des If j'ai le message "la méthode 'Range' de l'objet'_Global' a échoué"
j'ai aussi essayé avec Select Case même résultat. Je joint le fichier ce sera plus simple

Merci de votre aide

Jeff
 

Pièces jointes

Solution
Bonjour à tout le monde
Je ne connais pas cette notation avec les parenthèses, mais comme ceci ça a l'air de fonctionner
c'est à dire qu'il n'y a plus le message d'erreur. Pour le reste ????
If Range(f) = ("Jeff") Then h = a
If Range(f) = ("Dorothée") Then h = b
If Range(f) = ("Marion") Then h = c
If Range(f) = ("Nathalie") Then h = d
Bonjour dg62,
meric de prendre du temps
la on tombe tout de suite dans mes incompétences, les déclarations me sont étrangères. j'ai repris cette procédure ou le même problème m’était arrivé et c’était réglée par cette déclaration.
f est justement ce qui change?
 
Bonjour le fil, jeff.k

Je ferai un truc dans ce genre si j'étais moi.
En espérant que cela t'inspires... ou pas.
(Cela m'aura au moins "déconfiné" pendant quelques minutes 😉)
VB:
Sub test()
Dim P As Range, xV$, col&, NewNum
Set P = [A6:D6]
Qui = InputBox("Choisir personne?", "Test", "Marion")
xV = "" & Chr(42) & CStr(Qui) & Chr(42) & ""
col = Application.Match(xV, P, 0)
NewNum = Cells(Rows.Count, col).End(3) + 1
If MsgBox("Nouveau N° de devis = " & NewNum, vbYesNo) = 6 Then
Cells(Rows.Count, col).End(3)(2) = NewNum
End If
End Sub

EDITION: dg62 (re) 😉
 
Bonjour à tout le monde
Je ne connais pas cette notation avec les parenthèses, mais comme ceci ça a l'air de fonctionner
c'est à dire qu'il n'y a plus le message d'erreur. Pour le reste ????
If Range(f) = ("Jeff") Then h = a
If Range(f) = ("Dorothée") Then h = b
If Range(f) = ("Marion") Then h = c
If Range(f) = ("Nathalie") Then h = d
 
Bonjour Staple 1600
C'est vrai que ça ne motive pas quand on n'a pas de retour (feedback ?) même négatif.
J'ai le sentiment que certains ne s'inscrivent que pour avoir la solution à l'instant t.
Mais bon en cette période difficile, ça occupe et c'est, pour moi, plus intéressant que la TV.
Au plaisir
 
Désolé Staple1600,
Vous etes tous rapide a répondre ,il y a eu 3 de réponses en même temps, j'ai testé la tienne, pour être clair je n'ai pas les compétences pour la comprendre et pour l'adapter. merci de ton aide en tout cas

Jeff
 
Re, Bonjour Pounet95

•>jeff.k
Merci pour le feedback 😉
Déjà, puisque tu as testé : est-ce mon code fait ce qu'il faut ?
De ce que j'ai compris, il faut créer un nouveau N° de devis selon le nom de la personne?
C'est ce que fait ma macro, non ?
 
- 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

Discussions similaires

Réponses
3
Affichages
582
Retour