vba excel question concours : le nul du mois

vba excel question concours : le nul du mois - VB/VBA/VBS - Programmation

Marsh Posté le 30-05-2007 à 21:13:18    

bonjour à tous  
 
Débutant en vba excel, j'en appelle à vos lumières.
Je présente par avance mes plus plates excuses à tous ceux qui trouveront ma question ridicule.
 
Alors voilà.
Je dispose d'un fichier excel qui répertorie dans une colonne une série de chiffres (des codes postaux pour être précis)
 
J'aimerais créer une petite interface avec juste une zone de texte qui permettrait à l'utilisateur d'entrer un code postal pour vérifier si celui-ci fait effectivement partie de la liste (cette liste étant fixe et ne devant plus évoluer)
 
En résumé on entre le code postal, on clique sur un bouton et hop une msgbox vous dit si celui-ci fait partie de la liste ou non.
 
Je sais créer mon userform, les msgbox ne posent pas de problème mais, vous l'aurez compris, pour le reste du programme je sèche lamentablement ... et oui on est nul ou on ne l'est pas.
 
Bref j'en appelle à la solidarité et à vos compétences pour m'aider avec mon problème.
Je suppose qu'il existe une fonction qui permet de recherches la présence d'une valeur dans une liste de données ...
Chaque coup de pouce sera la bienvenu
 
En vous remerciant par avance pour votre aide
 
 
 

Reply

Marsh Posté le 30-05-2007 à 21:13:18   

Reply

Marsh Posté le 30-05-2007 à 22:06:09    

Bonsoir,
Voici ce que l'on trouve dans le help :
 
 
Find, méthode
Voir aussi S'applique à Exemple Spécificités  
Méthode Find telle qu'elle s'applique à l'objet WorksheetFunction.
 
Cette méthode recherche des informations spécifiques dans une feuille de calcul.
 
expression.Find(Arg1, Arg2, Arg3)
 
expression   Obligatoire. Expression qui renvoie un objet WorksheetFunction.
 
Arg1  Argument de type String obligatoire. Nom de la feuille de calcul.
 
Arg2  Argument de type String obligatoire. Nom de la plage.
 
Arg3  Argument de type Variant facultatif. Nom d'un argument permettant d'affiner la recherche.
 
Méthode Find telle qu'elle s'applique à l'objet Range.
 
Cette méthode recherche une information spécifique dans une plage et renvoie un objet Range qui représente la première cellule où cette information apparaît. Cette méthode renvoie la valeur Nothing si l'information n'est pas trouvée. N'affecte ni la sélection ni la cellule active.
 
Pour plus d'informations sur la fonction de feuille de calcul Find de Visual Basic, consultez Utilisation des fonctions de feuille de calcul dans Visual Basic.
 
expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
 
expression   Obligatoire. Expression qui renvoie un objet Range.
 
What  Argument de type Variant obligatoire.  Données à rechercher. Il peut s'agir d'une chaîne de caractères ou de tout autre type de données Microsoft Excel.
 
After  Argument de type Variant facultatif.  Cellule après laquelle vous souhaitez commencer la recherche. Cela correspond à la position de la cellule active lorsqu'une recherche est effectuée à partir de l'interface utilisateur. Notez que l'argument After doit correspondre à une seule cellule dans la plage. Rappelez-vous que la recherche commence après cette cellule ; la cellule spécifiée n'est pas recherchée jusqu'à ce que la méthode reviennent à cette cellule. Si vous ne spécifiez pas cet argument, la recherche commence après la cellule située dans le coin supérieur gauche de la plage.
 
LookIn  Argument de type Variant facultatif. Type d'informations.
 
LookAt   Argument de type Variant facultatif. Il peut s'agir de l'une des constantesXlLookAt suivantes : xlWhole ou xlPart.
 
SearchOrder   Argument de type Variant facultatif. Il peut s'agir de l'une des constantes XlSearchOrder suivantes : xlByRows ou xlByColumns.
 
SearchDirection  Argument de type XlSearchDirection facultatif. Direction de la recherche.
 
XlSearchDirection peut être l'une de ces constantes XlSearchDirection.  
xlNext par défaut  
xlPrevious  
 
MatchCase  Argument de type Variant facultatif.  Affectez-lui la valeur True pour que la recherche respecte la casse. La valeur par défaut est False.
 
MatchByte  Argument de type Variant facultatif.  Cet argument est utilisé uniquement si vous avez sélectionné ou installé la prise en charge des langues codées sur deux octets. Affectez-lui la valeur True pour que les caractères codés sur deux octets ne correspondent qu'aux caractères codés sur deux octets. Affectez-lui la valeur False pour que les caractères codés sur deux octets correspondent à leurs équivalents codés sur un octet.
 
SearchFormat  Argument de type Variant facultatif. Format de la recherche.
 
Notes
Les paramètres des arguments LookIn, LookAt, SearchOrder et MatchByte sont enregistrés chaque fois que vous utilisez cette méthode. Si vous ne spécifiez aucun paramètre pour ces arguments lors du prochain appel de la méthode, les paramètres enregistrés sont utilisés. Le fait de définir les paramètres de ces arguments modifie les paramètres de la boîte de dialogue Rechercher, ce qui a pour effet de changer les paramètres enregistrés qui sont utilisés lorsque vous ne spécifiez pas les arguments. Pour éviter toute ambiguïté, définissez ces arguments de façon explicite chaque fois que vous utilisez cette méthode.
 
Les méthodes FindNext et FindPrevious permettent de répéter la recherche.
 
Lorsque la recherche atteint la fin de la plage de recherche spécifiée, elle revient au début de cette plage. Pour arrêter une recherche lorsqu'elle revient au point de départ, enregistrez l'adresse de la première cellule trouvée, puis comparez l'adresse de chaque cellule ultérieurement trouvée avec l'adresse enregistrée.
 
Pour effectuer des recherches plus complexes, utilisez une instruction For Each...Next avec l'opérateur Like. Par exemple, le code suivant effectue une recherche dans toutes les cellules contenues dans la plage A1:C5 qui utilise une police dont le nom commence par les lettres Cour. Lorsque Microsoft Excel trouve une cellule correspondante, il lui affecte la police Times New Roman.
 
For Each c In [A1:C5]
    If c.Font.Name Like "Cour*" Then
        c.Font.Name = "Times New Roman"
    End If
Next
Exemple
Cet exemple montre comment rechercher toutes les cellules de la plage A1:A500 dans la feuille de calcul Worksheet 1 contenant la valeur 2 et comment la remplacer par la valeur 5.
 
With Worksheets(1).Range("a1:a500" )
    Set c = .Find(2, lookin:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            c.Value = 5
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With
 
Cordialement

Reply

Marsh Posté le 30-05-2007 à 23:30:47    

question postée à 21h13
1ère réponse une heure plus tard
 
si ça n'est pas de l'efficacité  
 
je te remercie pour ton aide  :jap:  
 

Reply

Marsh Posté le 31-05-2007 à 07:10:17    

Bonjour,
tu nous dit si cela t'a rendu service ou si tu as besoin de compléments
Cordialement

Reply

Marsh Posté le 01-06-2007 à 11:03:47    

je vais travailler sur mon projet ce week end
je vous tiens au courant
 
 :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed