TRADUIRE LE "ET" et le "OU" EN VBA

jennalex

XLDnaute Nouveau
Bonjour,

J'écris actuellement différentes macro dans le cadre d'un projet professionnel et je suis confrontée au problème suivant :

Comment traduire le ET et le OU en vba?

Exemple : Pour établir une recherche dans un tableau : Parcourir la colonne A ET la colonne B

Merci d'avance

Jenn.
 

Softmama

XLDnaute Accro
Re : TRADUIRE LE "ET" et le "OU" EN VBA

Bonjour,
pour définir une zone qui comprend la colonne A et B, il suffit de mettre :
Set Zone = Range("A:B")

Pour simuler le ET, dans ce cas, tu peux utiliser la fonction Union(Zone1 as Range, Zone2 as Range, ...) :
Set Zone = Union(Range("A:A"), Range("B:B"))
 

mth

XLDnaute Barbatruc
Re : TRADUIRE LE "ET" et le "OU" EN VBA

Bonjour,

Pour ET je dirais AND, OR pour OU, colonnes A et B pourquoi pas Columns("A:B"), mais ceci ne veut rien dire or contexte, il faudrait que tu précises ta demande, n'hésite pas à joindre un extrait de fichier pour illustrer ta question.

Bonne journée,

mth

Edit: Hello Softmama :)
 

jennalex

XLDnaute Nouveau
Re : TRADUIRE LE "ET" et le "OU" EN VBA

ok! je joins le fichier.

En fait je voudrais que le utilisteur du fichier puisse rechercher une ref (colonne D) ou un mot clé (colonne A).
Voir mieux : l'utilisateur peut rechercher n'importe quelle donnée pouvant se trouver dans le tableau!
 

Pièces jointes

  • Bdd vba.xlsm
    104.9 KB · Affichages: 57

jennalex

XLDnaute Nouveau
Re : TRADUIRE LE "ET" et le "OU" EN VBA

La solution du style : "Columns("A:B")" de mth fonctionne!
Je l'ai adapté à ma macro. La recherche s'effectue dans tout le tableau!
Private Sub CommandButton2_Click()

texte_a_rechercher = InputBox("Entrer la référence ou un mot clé à rechercher", "rechercher")
If texte_a_rechercher = "" Then Exit Sub

Range("A3:E3").Select
Set c = Cells.Find(what:=texte_a_rechercher, LookIn:=xlValues)
If Not c Is Nothing Then
firstaddress = c.Address
Do

c.Select
rep = MsgBox("recherche des suivants?", vbOKCancel, "recherche")
If rep = vbCancel Then Exit Sub
Set c = Cells.FindNext(c)
If c Is Nothing Then
address_encours = 0
Else
address_encours = c.Address
End If
Loop While Not (c Is Nothing) And (address_encours <> firstaddress)
End If
End Sub

Merci mth !!!

Mais je ne vois toujours pas comment traduire le OU. Une idée?
 

Discussions similaires

Statistiques des forums

Discussions
312 571
Messages
2 089 809
Membres
104 278
dernier inscrit
LENZY