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

VB.NET Discussion :

Supprimer caractère spécial " "


Sujet :

VB.NET

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut Supprimer caractère spécial " "


    Je suis entrant de programmer un petit programme qui me supprime sous excel toutes les lignes contenant certaines chaines de caractères:

    sous excel mes chaines de caractères sont comme ceci : "SAMGW06-1" (oui il y'a bien les " " dans excel et sa je ne peux malheureusement pas le changé...)

    et ce que j'essaye de faire c'est une boucle qui lit tout mon document et qui dès qu'il voit mon texte le supprime. J'ai essayé un tas de manière différente mais aucunes n'est concluante (j'ai mis des message box pour voir si j'entrais oui ou non dans ma boucle et je n'ai jamais mon message à l'ecran), j'ai mis dans ce code toutes mes tentatives pour supprimer ses lignes

    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
     
    For cptExcel = 1000 To 1 Step -1
                If  Trim(obxl.range("B" & cpt).value) = Chr(42) & "SAMGW06-1" & Chr(42) Then
                    MsgBox("réussis  boucle 1")
                    obxl.Rows(cptExcel).delete()
                ElseIf Trim(obxl.range("B" & cpt).value) = "*" & "SAMGW06-1" & "*" Then
                    MsgBox("réussis  boucle 2")
                    obxl.Rows(cptExcel).delete()
                ElseIf Trim(obxl.range("B" & cpt).value) = """ & "SAMGW06-1" & """Then
                    MsgBox("réussis boucle 3")
                    obxl.Rows(cptExcel).delete()
                ElseIf Trim(obxl.range("B" & cpt).value) = "*SAMGW06-1*" Then
                    MsgBox("réussis boucle 4")
                    obxl.Rows(cptExcel).delete()
                ElseIf Trim(obxl.range("B" & cpt).value) = "?" & " SAMGW06-1" & "?" Then
                    MsgBox("réussis boucle 5")
                    obxl.Rows(cptExcel).delete()
                ElseIf Trim(obxl.range("B" & cpt).value) = "*" & "SAMGW06-1" & "*" Then
                    MsgBox("réussis boucle 6")
                    obxl.Rows(cptExcel).delete()
                End If
            Next cptExcel
    j'ai utilisé la commande trim pour supprimer certains espace non voulu dans mes lignes excel et sinan le obxl c'est mon fichier excel

    Si vous arrivez à m'aider ce serait vraiment génial car la je galère depuis un petit moment et bien entendu si vous avez des questions n'hésitez pas

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    y'a personne qui aurait une petite idée pour m'aider???

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    c'est incompréhensible, le code est étrange et mal écrit à première vue (désolé )
    enfin tu peux débugger pas à pas pour comprendre ce qui va pas dans ton code, connaitre la valeur des variables etc...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    si tu veux le problème c'est que j'ai pas la solution à mon soucis
    dans excel j'ai plusieurs données à supprimé dans une des mes colonnes (colonne B pour être précis)

    et enfaite mes données sont sous formes " ", c'est à dire par exemple comme ceci "SAMGW06-1"

    et je dois supprimer ses lignes.

    si mes données avait été simplement SAMGW06-1
    mon code aurait été :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If  Trim(obxl.range("B" & cpt).value) = "SAMGW06-1"Then
                    obxl.Rows(cptExcel).delete()
    end if
    mais je ne sais pas comment faire pour qu'il prenne en compte mes " "
    car je ne peux pas mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If  Trim(obxl.range("B" & cpt).value) = ""SAMGW06-1""Then
                    obxl.Rows(cptExcel).delete()
    end if
    sa ne fonctionne pas ... et donc dans le code que j'ai mis plus haut j'ai mis toutes les solutions que j'ai essayée (avec les caractères joker) et j'y ai mis des msgbox pour voir si j'entrais dans mes boucles ou pas et je n'entre dans aucunes de mes boucles vu qu'aucun message ne viens à l'écran.

    je sais pas si c'étais plus compréhensible

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    si tu veux le problème c'est que j'ai pas la solution
    j'aurais pas cru ...

    mais je ne sais pas comment faire pour qu'il prenne en compte mes " "
    car je ne peux pas mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If  Trim(obxl.range("B" & cpt).value) = ""SAMGW06-1""Then
                    obxl.Rows(cptExcel).delete()
    end if
    et bien si tu peux mais un " doit etre remplacer par 2 "
    donc il t'en faut 3 de chaque coté
    if machin = """aaa""" then ...


    et puis si tu veux supprimer tout ce qui contient SAMGW06 tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Trim(obxl.range("B" & cpt).value).contains("SAMGW06") then
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    Hello j'ai essayé tes deux méthodes mais aucunes ne supprime ma ligne


    je comprends plus rien

  7. #7
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    apprend à débugger (pas à pas, points d'arrets, espions etc...)

    tu trouveras exactement ce qui va pas et c'est mieux que de mettre des messagebox qui dans ce cas ne t'apprennent rien
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    Un guillemet peut être remplacé par Char(34).

    Alors ça te donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If  Trim(obxl.range("B" & cpt).value) = Char(34) & "SAMGW06-1" & Char(34)Then
                    obxl.Rows(cptExcel).delete()
    end if

  9. #9
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    Merci beaucoup ta méthode marche à merveillle


    allé le problème est résolus et merci à vous deux de m'avoir aidé

  10. #10
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    Ça m'a fait plaisir

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

Discussions similaires

  1. awk ou sed : Supprimer argument entre doubles quotes sur une ligne de fichier
    Par SuperJoker dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 18/05/2014, 21h08
  2. Caractères du type \', &quot, etc
    Par CE.KA dans le forum Langage
    Réponses: 5
    Dernier message: 19/11/2009, 00h40
  3. [PL/SQL] Chaine de caractères avec une quote
    Par Titouf dans le forum Oracle
    Réponses: 2
    Dernier message: 15/05/2006, 14h36

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