Programmation VBA
Résolu
poupette
-
poupette -
poupette -
Bonjour,
je dois construire un petit programme sous VBA qui va chercher dans un document Excel une partie seulement des caractère présents dans la cellule (ex : je veux rechercher toutes les cellules contenant "ASH", or dans mon fichier EXcel, j'ai des libellé légèment différemment du type VIRT ASH, ASH FRAIS etc.. mais je veux qu'ils soient sélectionné par ma macro quand meme!
Et c'est la qu'est mon probleme.. je ne sais rechercher que des valeurs exactes...
Pouvez-vous m'aider svp?
Merci beaucoup par avance
je dois construire un petit programme sous VBA qui va chercher dans un document Excel une partie seulement des caractère présents dans la cellule (ex : je veux rechercher toutes les cellules contenant "ASH", or dans mon fichier EXcel, j'ai des libellé légèment différemment du type VIRT ASH, ASH FRAIS etc.. mais je veux qu'ils soient sélectionné par ma macro quand meme!
Et c'est la qu'est mon probleme.. je ne sais rechercher que des valeurs exactes...
Pouvez-vous m'aider svp?
Merci beaucoup par avance
A voir également:
- Programmation VBA
- Application de programmation - Guide
- Excel compter cellule couleur sans vba - Guide
- Dépassement de capacité vba ✓ - Forum Excel
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
5 réponses
Merci pour ta réponse mais ca ne fonction ne pas..
je te montre mon code :
Sheets("Source").Select
Range("B2").Select
Do While ActiveCell <> ""
If ActiveCell.Cells = *ASH* Then
etc...
Else
ActiveCell.Offset(1, 0).Select
le = suivi *AHS* ne fonctionne pas...
Tu aurias une autre solution stp?
je te montre mon code :
Sheets("Source").Select
Range("B2").Select
Do While ActiveCell <> ""
If ActiveCell.Cells = *ASH* Then
etc...
Else
ActiveCell.Offset(1, 0).Select
le = suivi *AHS* ne fonctionne pas...
Tu aurias une autre solution stp?
bonsoir,
essaie avec:
If InStr(ActiveCell.Value, "ASH") Then
Mais ce n'est pas necessaire et même déconseillé d'activer ou selectionner la cellule tout le temp, ça ralentit le programme.
Tu peux incrémenter une variable i et t'en servir dans l'offset ce qui donne:
if InStr( [B2].offset(i,0).value, "ASH") Then
...
endif
i=i+1
idem dans le test du while
eric
essaie avec:
If InStr(ActiveCell.Value, "ASH") Then
Mais ce n'est pas necessaire et même déconseillé d'activer ou selectionner la cellule tout le temp, ça ralentit le programme.
Tu peux incrémenter une variable i et t'en servir dans l'offset ce qui donne:
if InStr( [B2].offset(i,0).value, "ASH") Then
...
endif
i=i+1
idem dans le test du while
eric
[EDIT : Réponse donnée en double]
J'allais proposer une solution avec des expressions régulières mais malheureusement ça n'existe pas par défaut en VBA.
J'allais proposer une solution avec des expressions régulières mais malheureusement ça n'existe pas par défaut en VBA.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question