Format de cellule Vba

Calvus

XLDnaute Barbatruc
Bonjour le forum,

J'ai une macro qui affiche des résultats en colonne V :
VB:
Dim Message As String, firstAddress As String
    Set plage = Sheets("Accueil").Range("C4:C" & Range("C" & Rows.Count).End(xlUp).Row)
'ICI...................
    Set marecherche = plage.Find(Range("B3").Value).Offset(, 1)
    [B4] = marecherche
    For Each Ws In Worksheets
        With Ws
            Set c = .Range("B12").Find(What:=marecherche, LookIn:=xlValues, LookAt:=xlPart)
            If Not c Is Nothing Then
                firstAddress = c.Address
                Do
                    Message = Message & "- dans la feuille " & Ws.Name & ", cellule " & c.Address & Chr(10)
                    Set c = .Range("B12").FindNext(c)
                Loop While Not c Is Nothing And c.Address <> firstAddress
'ICI.................
            Range("V1000").End(xlUp).Rows(2) = c

ETC.....

Range("B3").Value est numérique. (mis en évidence dans le code)
Le problème, est que pour la valeur 1, excel me renvoie des fois 1 , des fois 10...

Avez vous une idée du problème ?

Merci
 

Calvus

XLDnaute Barbatruc
Bonsoir Vgendron,

Je te remercie.
C'est mieux, mais pas encore ça.
Ca fonctionne maintenant si je cherche 1, mais pas si je cherche 10 !
Le problème semble venir d'ici :
Set marecherche = plage.Find(Range("B3").Value).Offset(, 1)
Pour la valeur 10, il me trouve Vide.
Pas de problème manifestement avec le reste des valeurs.
J'ai donc essayé différentes choses avec les SpecialCells, mais sans succès.

Comme il est vraiment long de faire un fichier, dis moi si ces informations te suffisent. Sinon je ferai le fichier.

Merci.

Edit : d'autres valeurs posent problème...
 

Calvus

XLDnaute Barbatruc
Bonsoir,

Voici le fichier.
Le bouton Ouverture lance la macro et les données sont inscrites en colonnes U, V et W.
La table de recherche en C et D.

Merci de votre aide.
 

Pièces jointes

  • Format selon Recherche.xlsm
    87.9 KB · Affichages: 33

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Sauf erreur de ma part, la valeur stricte "10" n'existe pas dans ton Tableau1, donc elle ne peut pas être trouvée si tu fais une recherche sur les valeurs "complètes".


PS : chez moi ton tableau en colonnes U à W ne s'efface jamais et continu de se remplir à chaque nouvelle recherche. Est-ce voulu ?
 

Calvus

XLDnaute Barbatruc
Bonsoir Marcel,

Décidément !
J'avais bien vu cela, mais comme mes données proviennent d'un classeur avec format personnalisé, où tout fonctionne correctement, j'ai écarté cette hypothèse, d'autant plus que les recherches se faisaient sur la grande majorité des autres chiffres.
En enlevant les CL, ça fonctionne correctement ! Quel âne ! C'est 00 qui va être contente d'avoir un copain, mais nettement moins brillant qu'elle.
Je te remercie donc de ta remarque.

PS : chez moi ton tableau en colonnes U à W ne s'efface jamais et continu de se remplir à chaque nouvelle recherche. Est-ce voulu ?
Oui c'est voulu. Mon fichier original permet l'effacement, mais je le veux manuel.

En revanche, par rapport à ce code, il me reste un problème.
Si j'ai un champ "Toto", et un champ "Toto Dudu", la macro m'affiche les 2 occurrences pour Toto, alors que je n'en veux qu'une.

Sais tu ce qu'il faut faire pour obtenir une valeur absolue ?

Merci
A+

PS :
donc elle ne peut pas être trouvée si tu fais une recherche sur les valeurs "complètes".

Je faisais une recherche XlPart, et j'ai changé sur le conseil de Vgendron, si c'est bien de cela dont il s'agit.
A la décharge de Vgendron, que je remercie, il n'avait pas eu le fichier quand il m'a répondu. Alors je ne sais pas si l'erreur provient de là, mais je ne crois pas.
 

Calvus

XLDnaute Barbatruc
Re,

En effet. J'avais changé à nouveau en cherchant à modifier le code.
Mon précédant PS n'a donc plus lieu d'être.
C'est donc résolu pour le moment.

Sais tu comment faire pour transformer mes données : Cl1, Cl2, Cl3...etc, e, 1, 2, 3.... lors de l'import de mes données ?

Merci pour tout.
 

TooFatBoy

XLDnaute Barbatruc
Non, je ne sais pas comment tu peux transformer ces données lors de l'importation. :(

En revanche, une fois l'importation effectuée, tu dois pouvoir remplacer "CL" par "".
Mais attention à bien effectuer ce changement uniquement sur ces données et non sur tout le classeur !
 

TooFatBoy

XLDnaute Barbatruc
D'un autre côté, si tous tes codes-clients ont le même préfixe "Cl", tu n'es pas obligé de le supprimer dans ton tableau, tu peux l'ajouter dans la recherche au niveau de ta macro, par exemple en mettant :
[B3] = "Cl" & InputBox("Code Client", "Recherche Client")


Remarque : au niveau de ta boîte de dialogue, tu ne gères pas le bouton "Annuler", ce qui fait que dans tous les cas une recherche est effectuée, même si on a cliqué sur "Annuler".
 

Statistiques des forums

Discussions
312 046
Messages
2 084 850
Membres
102 686
dernier inscrit
Franck6950