Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Variable "texte" string qui ne passe pas

popcorn

XLDnaute Occasionnel
Bonjour à toutes et à tous,


Je récupère des données dans un classeur excel, que je recopie sur une autre feuille.

J'utilise deux critères pour repérer ma ligne, mon numéro de commande et le détail du paiement ("Commission", "Frais de fermeture variables"...)

Ces deux critères sont déclarés en variable string.

Ce que je ne comprend pas, c'est que si la variable est le mot "Commission", les lignes sont trouvées.
mais dès lors que j'utilise les termes "Frais de fermeture variables" ... cela ne fonctionne pas.

Je fais un essai en remplaçant le texte pas x,y,z.. les lignes sont bien trouvées et copiées dans mon autre feuille.

J'ai bien l'impression que cela vient d'un problème d'espace entre les mots mais comment faire pour m'en sortir car ces donnés sont toujours sous format, venant d'une source externe.

Voici le bout de code que j'utlisise

Code:
Sub Cherche2()
Dim DernLigneS As Integer
Dim DernLigneD As Integer
Dim order As String
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Dim r As Range 'Ligne..du tableau
a = "Commission "
'b = "Frais de traitement "
'c = "Frais de fermeture variables "
'd = "Remboursement de l'expédition "
'e = "Expédition "
DernLigneS = Sheets("Source").Range("A25").End(xlUp).Row
DernLigneD = Sheets("Destination").Range("B" & Rows.Count).End(xlUp).Row
'order = Sheets("Destination").Cells(i, 2).Value
     For i = 2 To DernLigneD
        order = Sheets("Destination").Cells(i, 2).Value
                      
                         'Recherche la ligne qui contient le numéro de commande et "Comission", copie la valeur de la colonne F de la même ligne dans "Destination"
                        For Each r In ThisWorkbook.Sheets("Source").Range("A1").CurrentRegion.Rows
                              If r.Cells(2) = order And r.Cells(5) = a Then
                              MsgBox "ligne trouvée " & r.Row
                              Sheets("Destination").Cells(i, 10) = Cells(r.Row, 6).Value
                              Exit For 'fin recherche
                              End If
                          Next

    Next
End Sub

Merci de votre aide.
 

Bebere

XLDnaute Barbatruc
bonjour
a = "Commission " 'il y a un espace à la fin b,c,d,e aussi
utilise replace
a = Replace(a, " ", "")
replace(r.Cells(5)," ","") = Replace(a, " ", "")
comparer avec ucase ex:ucase(r.Cells(5)) =ucase( a)
ou les 2
ou essaye de comparer avec like
If r.Cells(2) = order And r.Cells(5) Like a & "*" Then
 

Discussions similaires

Réponses
12
Affichages
845
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…