cs_ars93
Messages postés6Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention 2 février 2009
-
30 janv. 2009 à 17:45
cs_ars93
Messages postés6Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention 2 février 2009
-
2 févr. 2009 à 20:40
Bonsoir a tous
j'ai ecrit ces quelques lignes afin de rechercher la concordance d'une chaine de caractere dans une colonne Spécifique
Mon probleme c'est que cette methode marche bien MAIS des que ma var "chaine" a un Blanc la methode me renvoi Nothing ...
With Worksheets(8).Range("b2:b73") (j'ai bien st martin)
Set c = .Find(chaine, LookIn:=xlValues).....(Ex chaine = st martin)
If Not c Is Nothing Then
firstAddress = c.Address
MyStr = (Right(firstAddress, 2))
site = Worksheets(8).Cells(MyStr, 1).Value
Worksheets(2).Cells(I, 9).Value = site
End If
End With
Merci a ceux qui se pencheront sur ce iatus ...
vb or not vb ...yes we want
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 31 janv. 2009 à 02:15
Salut
Ma boule de cristal me dit que tu es sous Excel ?
Catégorie de la question modifiée --> VBA
"ma var "chaine" a un Blanc" : Tu veux dire un espace ?
Chez moi, ça marche parfaitement.
As-tu analysé ton code de plus près ?
Tu utilises une variable I qui ne vaut rien puisque non déclarée ni initialisée.
Conseil : Prends l'habitude d'ajouter Option Explicit en tête de chaque feuille de code, dans la partie déclarations.
Cela t'oblige à déclarer toutes tes variables, c'est chiant au début, mais ça évite de se tromper d'orthographe de variable ou d'utiliser une variable innaccessible = gain de temps car le programme te dira dès le démarrage que quelque chose ne va pas.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_ars93
Messages postés6Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention 2 février 20091 31 janv. 2009 à 03:11
salut a toi
En fait je n'ai pas mis tout le code mais cette partie de prog est imbriquée dans une boucle for avec I comme compteur
Ceci étant je ne m'explique pas cette histoire d'espace dans ma chaine de caractere qui pollue mon "find". Ma var chaine est de type variant...mes cellules (oui c'est une feuille excel t'as boule de cristal c'est une vrai) sont de type texte. Moi pas comprendre !!!
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 1 févr. 2009 à 15:47
Re
Es-tu sûr que le caractère entre tes deux mots "st" et "martin" est bien un espace ?
As-tu essayé le bout de code que tu nous as passé, tout seul, sorti de ta boucle (dans une nouvelle Sub par exemple) et épuré ?
With Worksheets(8).Range("b2:b73") Set c .Find( "st martin" , LookIn:xlValues)
If Not c Is Nothing Then
MsgBox c.Row & ", " & c.Column
End If
End With
Ca te permettra de savoir si c'est l'instruction en elle-même qui coince ou l'environnement.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)