Comparaison chaine de caractere
n
Bonjour,
SVP je fais une macro ou je dois faire un teste de comparaison entre deux chaines de caractere, le probleme c que ce teste ne se fait pas
voila le code:
Sub planning()
'-----------------------------------------------------------------------------------------
' Déclarations
'-----------------------------------------------------------------------------------------
Dim Fso As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder
Dim FileItem As Scripting.File
Dim Nchaine, Ndebut, Nfin As String
Dim Mchaine, Mdebut, f1mois As String
Dim name, namechemin As String
Dim Repertoire As String
Dim fPnom, f1nom As String
Dim DerLig1, Lig1 As Long
Dim LigBo, DerCel, DerCel1 As Long
'-----------------------------------------------------------------------------------------
' Traitements
'-----------------------------------------------------------------------------------------
Repertoire = "C:\Documents and Settings\squallihoussainin\Bureau\Macros\Fichier Source\RMA et facturation\2008\2008-10\RMA\"
Set Fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = Fso.GetFolder(Repertoire)
'Boucle sur tous les fichiers du répertoire
For Each FileItem In SourceFolder.Files
name = FileItem.name
namechemin = Repertoire & FileItem.name
'fnom renvoie le nom extrait du nom de fichier
Nchaine = FileItem.name
Ndebut = InStr(1, Nchaine, " ", vbTextCompare) + 1
Nfin = InStr(1, Nchaine, "_", vbTextCompare)
f1nom = Mid(Nchaine, Ndebut, Nfin - Ndebut)
'fmois renvoie le mois extrait du nom du fichier
Mchaine = FileItem.name
Mdebut = Right(Mchaine, 9)
f1mois = Mid(Mdebut, 1, 2)
'rendre les mois en nombre en alphabet
If f1mois = "10" Then
f1mois = "Octobre"
End If
With Sheets("Plannings Absences")
For Lig1 = 517 To 553
'fPnom renvois le nom dans la feuille planning
Pchaine = .Range("A" & Lig1).Value
Pdebut = InStr(1, Pchaine, " ", vbTextCompare)
fPnom = Mid(Pchaine, 1, Pdebut)
Workbooks.Open (namechemin)
If [color=red]f1nom = fPnom[/color] Then
MsgBox ("c bon")
Workbooks(name).Close SaveChanges:=False
End If
Next Lig1
End With
Next FileItem
End Subje ne sais pas pourquoi ce qui est entre le if et le end if ne s'execute pas, et la comparaison ne se fait pas.
SVP dites moi si ma syntaxe est fausse
Merci
n
bon c bon , c'etait un probleme d'espace
bonjour,
le test se fait surement mais c'est probablement le résultat qui est inattendu...
remplace ta clause if par celle-ci pour voir :
If f1nom = fPnom Then
MsgBox ("c bon")
Else
Msgbox 'beurk"
End If
Workbooks(name).Close SaveChanges:=False