Equivalent VBA de % en SQL

Jean -  
 Jean -
Hello,

je me demandais si certains d'entre vous connaissent l'équivalent de % (SQL) en VBA.

En gros, si au lieu de chercher le mot exact "AUDI A8", je voulais lui demander de chercher tous les mots commençant par AUDI et ce peu importe ce qu'il contient après.

=> en SQL sous Oracle "AUDI %".

Merci
A voir également:

6 réponses

via55 Messages postés 14730 Statut Membre 2 750
 
Bonjour

Dans Excel que ce soit par formules ou en VBA c'est l'* qui remplace n'importe quoi
Per exemple COUNTIF(Range("A:A"),"AUDI*") dénombrera en VBA toutes les cellules de l plage en colonne A commençant par AUDI

Cdlmnt
Via
0
Jean
 
Bonjour,

Merci pour votre réponse. Le souci c'est que je n'arrive pas à le faire fonctionner.

Par exemple, j'ai une commande VBA me permettant de mettre en page automatiquement la ligne d'un graphique. Dans la commande je mets Case "AUDI*" (avec l'étoile donc) de façon à ce que si dans mon graphique, le nom est suivi par R8 ou A5, cela permet à la commande VBA de l'identifier.
Seulement, la commande ne fonctionne pas. Je suis obligé de rentrer le nom exact "AUDI R8" pour que la commande fonctionne.

Est-ce qu'il y aurait une chose en particulier à tenir compte ?

Merci,

Jean
0
via55 Messages postés 14730 Statut Membre 2 750
 
Bonjour

Tu n'avais pas précisé au départ l'emploi avec Case ni donné un extrait de ta macro
Avec Case ça ne fonctionne effectivement pas alors dans ce cas remplace le par un test sur les 4 premiers caractères de la chaine, exemple
For n= 2 to 50
Select Case Left(Range("A" & n), 4)
Case "AUDI"
instruction à réaliser
...


Cdlmnt
Via
0
Jean
 
Bonjour,

Merci pour la réponse. Effectivement, je n'avais pas précisé parce que je ne pensais que c'était différent dans ce cas-là.

Par contre, je n'arrive pas à faire fonctionner la commande. Elle tourne mais elle ne change pas l'aspect du graphique.

Voici dans le détail :

Sub CouleurSeries()
Dim MesSeries As Series
With ActiveChart

For n = 2 To 50
Select Case Left(Range("A" & n), 4)

Case "AUDI"
MesSeries.Border.ColorIndex = 46
MesSeries.Border.Weight = xlThick
MesSeries.MarkerStyle = xlMarkerStyleSquare
MesSeries.MarkerBackgroundColorIndex = 46
MesSeries.MarkerForegroundColorIndex = 46
MesSeries.MarkerSize = 10
End Select
Next

End With
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
via55 Messages postés 14730 Statut Membre 2 750
 
Re

1) je donnais
For n = 2 To 50
Select Case Left(Range("A" & n), 4) comme exemple pour boucler sur le tableau associé mais dans ton fichier ce la m'étonnerait que les données soient situées au même endroit

2) Avec With les instructions qui en dépendent doivent commencer par un point style .MesSeries.Border.ColorIndex = 46

3) Je ne suis pas spécialiste en instructions VBA pour les graphiques mais je doute que MesSeries te permette de cibler les seules séries à modifier, je verrai plutôt une instruction comme .SeriesCollection(n).Border.ColorIndex = 46

Reposes la question sur le forum en mettant en titre Mise en page d'un graphique pour qu'un spécialiste d'un graphique vienne te répondre et joins à ton message un lien pour ton fichier ce sera plus évident pour t'aider (Tu telecharges un exemple de ton fichier sur c.joint.com, tu fais créer un lien, tu le copies pour le mettre dans ton message)

Cdlmnt
Via
0
Jean
 
Merci Via55 pour votre aide. Je vais reposer la question.

Jean
0