IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

comparaison chaine de caractere


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 181
    Points : 79
    Points
    79
    Par défaut comparaison chaine de caractere
    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:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    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 f1nom = fPnom Then
                            MsgBox ("c bon")
                               
                        Workbooks(name).Close SaveChanges:=False
                       
                    End If
                   
                Next Lig1
               
            End With
           
        Next FileItem
    
    
    
    End Sub
    je 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

  2. #2
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Points : 323
    Points
    323
    Par défaut
    et la comparaison ne se fait pas
    Je pense plutôt qu'elle se fait mais qu'elle ne se vérifie pas !

    Tu as mis des espions ou des points d'arrêt pour voir ce que valent les 2 "string" ?

    D'ailleur, quand tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim fPnom, f1nom As String
    celà revient à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim fPnom as variant, f1nom As String

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 181
    Points : 79
    Points
    79
    Par défaut
    bon c bon , c'etait un probleme d'espace

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparaisons chaines de caracteres
    Par jroman dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 21/06/2011, 14h08
  2. Comparaison chaine de caracteres
    Par philsand77 dans le forum Langage
    Réponses: 2
    Dernier message: 03/07/2010, 21h15
  3. lecture fichier et comparaison chaines de caracteres
    Par john123 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 08/05/2007, 11h38
  4. Réponses: 5
    Dernier message: 06/10/2003, 17h49
  5. [LG]comparaison de chaines de caracteres
    Par thesam dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2003, 22h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo