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 :

Commande VBA pour supprimer ligne entiere


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2019
    Messages : 23
    Par défaut Commande VBA pour supprimer ligne entiere
    Bonjour,
    je n'arrive pas a trouver le bon code pour supprimer une ligne entiere quand ma cellule contient le mot fictive. le pb est que ce mot est situé derriere un autre nom: ex : Berre Fictive , Cavaou Fictive etc.....
    voila ce que j'ai comme code mais cela ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Suprime()
    Application.ScreenUpdating = False
    Dim i As Long
    For i = 2 To Range("B1000").End(xlUp).Row
    If Cells(i, 2).Value Like "Fictive" Then Rows(i).Delete
    Next i
    End Sub
    Merci d'avance pour votre aide

  2. #2
    Membre très actif Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Par défaut
    Bonjour,

    Comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ub Suprime()
    Application.ScreenUpdating = False
    Dim i As Long
    For i = 2 To Range("B1000").End(xlUp).Row
    If Cells(i, 2).Value Like "Fictive" Then Cells(i, 2).EntireRow.Delete
    Next i
    End Sub

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Lorsque l'on supprime, on le fait de bas en haut (step -1) si l'on veut éviter des croche-pieds dans la numérotation de ce qu'on supprime.

  4. #4
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2019
    Messages : 23
    Par défaut
    Rien ne s'efface .snifff

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Outre le fait d'appliquer impérativement la recommandation d'Unparia, que je salue au passage, essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Instr(Cells(i, 2).Value ,"Fictive") > 0
    Tu peux consulter l'aide Microsoft sur la fonction Instr

    D'autre part, je ne peux que te conseiller de bien rattacher tes objets Range à leur feuille Parent.
    Ceci en utilisant éventuellement le bloc With

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Worksheets'"lawks")
     If Instr(.Ccells(i,....
     ........................ 
    End With

  6. #6
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2019
    Messages : 23
    Par défaut
    Merci Marcel ça fonctionne... en partie.
    Car ds mon fichier Fictive est écrit par moment avec une Majuscule ( Fictive ) et d'autres fois (FICTIVE). et forcement ça n'efface pas tout. y a t il un moyen de contourné ce pb ?
    Merci

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    La fonction Ucase met en majuscules le contenu texte qu'elle traite.
    Compare donc le Ucase de l'un avec le Ucase de l'autre ...
    A lire : la rubrique Ucase, Fonction de ton aide interne VBA

  8. #8
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    2 façons;
    - En entête de module, écrire l'ignorance des majuscules/minuscules
    (Quelques discussions sur l'opportunité de cette Option)

    - Tester sur les majuscules (plus pragmatique)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Instr(Ucase(.Cells(i,2).Value),"FICTIVE") > 0 Then....

  9. #9
    Membre très actif Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Par défaut
    Citation Envoyé par jeje5969 Voir le message
    Rien ne s'efface .snifff
    Sans interagir avec les recommandation le code que je tes mis fonctionne parfaitement je vient de le testé

  10. #10
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Tony,

    Tu n'aurais pas oublié des identificateurs? (*....)?

    Voir ce tutoriel fondamental sur les chaînes de caractères.

    D'autre part, pour une suppression de lignes, il faut partir de la dernière ligne (Rappel du propos d'Unparia)

    Jeje, Reporte
    1 - l'intégralité du code modifié
    2 - le contenu intégral d'une cellule pour laquelle la suppression ne s'effectue pas, après cette modification

Discussions similaires

  1. [XL-2013] Macro VBA pour supprimer une ligne entière
    Par Riahi's dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 22/12/2016, 13h57
  2. pb code vba pour supprimer plusieurs lignes
    Par worfabs75 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/10/2013, 10h55
  3. pb code vba pour supprimer plusieur lignes
    Par worfabs75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/10/2013, 13h01
  4. [XL-2007] Code VBA pour supprimer des lignes sous condition - problème
    Par PeaceMaker dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/06/2011, 10h09
  5. [C#][Débutant] 4 questions pour supprimer ligne dans datagriview
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 6
    Dernier message: 04/05/2006, 00h42

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