comment utiliser appartenir à

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

A

alexletiti

Guest
bonjour
Je souhaite insérer à ce code la formul qui me permet de dire si ... appartient à alors et si ... n'appartient pas à alors
voici mon prog.
Public Sub prog1()
nom = InputBox('Donner le nom de l'utilisateur')
For Each x In Range('A:A')
n = n + 1
plage = n
if nom appartient range('A:A')
If nom = x Then
x = x.Offset(0, 1)
MsgBox 'l'utilisateur ' & nom & ' appartient au groupe ' & x
End If
ElseIf nom n'appartient pas a range('A:A') MsgBox 'cet utilisateur n'existe pas !!'
End If
Next
End Sub

voila, c'est ce qui se trouve en rouge qui me pose problème.
Merci
 
bonjour Alex

j'espere que cet exemple pourra t'aider
si le nom est trouvé , un message affiche la valeur qui est dans la 2eme colonne ( sur la meme ligne )


Sub RechercheColonne()
Dim Nom As String
Dim Plage As Range
Dim i As Integer, Resultat As Integer

Nom = InputBox('Donner le nom de l'utilisateur')
i = Range('A65536').End(xlUp).Row
Set Plage = Range('A1:A' & i)

On Error Resume Next
Resultat = Application.Match(Nom, Plage, 0)
If Resultat = 0 Then
MsgBox Nom & ' n'existe pas dans la plage ' & Plage.Address
Else
MsgBox Cells(Resultat, 2) 'afficher la donnée de la colonne 2
End If
End Sub



bonne soiree
MichelXld
 
désolé de ne pas avoir répondu mais je n'arrivais pas à retrouver le forum comme j'étais pas connecté.
merci pour ton prog c'est ce que je cherchait. Mais pourrais tu me le détailler car je ne comprend pas tout ce que tu as fais. ( je suis débutant )

merci
 
bonjour Alex

j'espere que ces quelques indications pourront t'aider


Sub RechercheColonne()
Dim Nom As String
Dim Plage As Range
Dim i As Integer, Resultat As Integer

'affiche une boite de dialogue pour saisir le nom à rechercher
Nom = InputBox('Donner le nom de l'utilisateur')

'numero de la derniere ligne non vide dans la colonne A
i = Range('A65536').End(xlUp).Row

'définit la plage ou va etre effectuée la recherche
'A1 jusqu'a la derniere cellule non vide dans la colonne A
Set Plage = Range('A1:A' & i)

On Error Resume Next
'verifie si le nom existe dans la plage cible
Resultat = Application.Match(Nom, Plage, 0)

'avec la fonction Match , si le nom n'est pas trouvé dans la plage : resultat =0
If Resultat = 0 Then
MsgBox Nom & ' n'existe pas dans la plage ' & Plage.Address
Else

'si le nom est trouvé dans la plage : resultat renvoie le numero de ligne dans la plage
MsgBox Cells(Resultat, 2) 'afficher la donnée de la colonne 2
'cells(numero_ligne,numero_colonne)
End If
End Sub



bonne soiree
MichelXld

Message édité par: MichelXld, à: 01/06/2005 18:00
 
Bonjour le Forum,
Bonjour alexletiti, MichelXld,

voila j'espére ne pas géner en venant dans ce fil .

mais j'aurais aimé savoir ce qu'il falait changer a ton code MichelXld pour qu'il puisse rechercher des caracteres numérique ou alphanumérique, car aprés essai si la plage Set Plage = Range('A1:A' & i) contient des nombres ils ne sont pas reconnus.

un grand merci d'avance

Jocelyn.
 
Bonjour le Forum,
Bonjour MichelXld,

Pour commencer merci de ta réponse.

Je pense que je me suis mal exprimé, si j'applique ce que tu as dis la macro reconnais les entrée numériques mais plus les alphas.

ce que je voudrais c'est quelle reconnaisse les deux types d'entrée.

encore merci de ton aide.

A+
Jocelyn
 
bonsoir Jocelyn

tu peux tester


Sub RechercheColonneV02()
Dim Nom As Variant
Dim Plage As Range
Dim i As Integer, Resultat As Integer

'affiche une boite de dialogue pour saisir le nom à rechercher
Nom = InputBox('Donner le nom de l'utilisateur')

If IsNumeric(Nom) Then Nom = CDbl(Nom)

'numero de la derniere ligne non vide dans la colonne A
i = Range('A65536').End(xlUp).Row

'définit la plage ou va etre effectuée la recherche
'A1 jusqu'a la derniere cellule non vide dans la colonne A
Set Plage = Range('A1:A' & i)

On Error Resume Next
'verifie si le nom existe dans la plage cible
Resultat = Application.Match(Nom, Plage, 0)

'avec la fonction Match , si le nom n'est pas trouvé dans la plage : resultat =0
If Resultat = 0 Then
MsgBox Nom & ' n'existe pas dans la plage ' & Plage.Address
Else

'si le nom est trouvé dans la plage : resultat renvoie le numero de ligne dans la plage
MsgBox Cells(Resultat, 2) 'afficher la donnée de la colonne 2
'cells(numero_ligne,numero_colonne)
End If
End Sub



bon week end
MichelXld
 
Bonjour le Forum,
Bonjour MichelXld,

désolé de n'avoir pas répondu plus vite (je n'ai pas internet chez moi, c'est le fin fond de la campagne ca ne passe pas)

Merci cela fonctionne parfaitement.

un grand bravo.

Jocelyn
 
- 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

Réponses
15
Affichages
765
Réponses
32
Affichages
2 K
Retour