[VBA]Realiser une recherche sur une variable "range"

57.scheider

XLDnaute Junior
Bonjour j'aimerais réaliser une condition en vba:


Voila le principe:
Je possède une variable de type range (appelé TATA) qui n'est pas fixe (pas fixe, cad que le nombre d'information dans la variable range peut être plus ou moins grand, il n'est pas connu)

Et je voudrais creer cette condition:
- exécuter le "programme A" lorsque l'une des informations information de la variable range "TOTO" est identique à la cellule A3
- si l'information de la cellule A3 n'est pas compris dans la variable TOTO, je passe à la cellule du dessous A4 et ainsi de suite jusqu a que je trouve la bonne cellule


Avez vous idee pour faire la recherche sur les variables de type range?.

Merci
 

kjin

XLDnaute Barbatruc
Re : [VBA]Realiser une recherche sur une variable "range"

Bonsoir,
Plutôt que de nous expliquer que toto fait partie de la famille tata, ou l'inverse peut-être, peux tu nous expliquer clairement ce que tu cherches en donnant un exemple concret.
MaVariable = "Toto et Tata vont au bar du coin"
MaCellule = "Tata"
donc MaCellule compris dans MaVariable
En outre, si MaVariable est connu d'avance ce n'est plus une variable mais une constante !
C'est ça, c'est pas ça
La généalogie et moi...
A+
kjin
 

job75

XLDnaute Barbatruc
Re : [VBA]Realiser une recherche sur une variable "range"

Bonsoir, salut kjin :)

La recherche dans une plage en VBA utilise souvent les même fonctions que celles d'une feuille de calcul. Dans l'exemple qui suit, on utilise CountIf (NB.SI).

TOTO est donc une variable correspondant à une plage de la feuille de calcul, voici la boucle à exécuter :

Code:
Dim cel As Range
For Each cel In Range([A3], [A65536].End(xlUp)) [COLOR="Red"][COLOR="Blue"]'peut-être, mais pas bien compris :[/COLOR] For Each cel In TATA[/COLOR]
  If Application.CountIf([COLOR="Red"]TOTO[/COLOR], cel) Then
    Programme A [COLOR="Blue"]'exécute cette macro[/COLOR]
    Exit For
  End If
Next

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 898
Membres
101 834
dernier inscrit
Jeremy06510