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 :

Supprimer des lignes sur une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut Supprimer des lignes sur une feuille
    bjr forum
    je m'excerce à longueur de journée pour comprendre la programmation en vba
    mon exercice d'aujourd'hui est de supprimer des lignes via une listbox.
    voici le code que j'ai pu écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim i As Integer
    'no_ligne = textbox representant le numero de ligne sur la feuille
        For i = ListBox1.ListIndex + 2 To no_ligne ' ici ma listbox ne contient pas d'en-tetes donc listindex +2
     
             If Cells(4, 1) <> "" Then
     
            Sheets("feuil1").Range("a" & i).Delete
            End If
             Next i
    lorsque j' essaie de supprimer l'une des 3 premieres lignes erreur debogage mais pour les autres lignes pas d'erreur et la suppression se fait correctement.
    je souhaiterais que vous m'expliquer le pourquoi.
    svp pas de code ou de lien . juste des explications et au pire des cas un code en relation avec mon code. merci

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    bonjour
    il ne faut pas confondre

    vide les valeurs de range("A" & i)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("feuil1").Range("a" & i).clearcontents
    vide les valeurs et supprime le formatage de range("A" & i)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("feuil1").Range("a" & i).clear
    supprime physiquement la ligne entiere de range("A" & i)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("feuil1").Range("a" & i).entirerow.delete
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Bonjour Patrick, j'espère la grande forme chez vous.
    Merci pour l' explication. J'aimerais savoir pourquoi lorsqu''il reste 3lignes dans le tableau, et que je supprime ça supprime la colonne entière ? Je demande si je ne devrais pas sortir de la boucle prématurément

  4. #4
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i = listbox+2 to no_ligne
    j'ai essayé avec Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("feuil1").range("A"&i).entirerow.delete
    et ça marche.
    J'espère qu'à la longue cela ne sera préjudiciable ?

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    re
    range("A:" & i).delete ça ne se fait pas soit tu

    range("A:" & i).clear ->efface les valeurs et format
    range("A:" & i).clearcontents ->efface les valeurs
    range("A:" & i).entirerow.delete ->suprimme physiquement la ligne de la cellule
    range("A:" & i)..EntireColumn.delete ->supprime physiquement la colonne entière de la cellule
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut
    Une dernière question : comment réinitialiser ma listbox car j'ai vu dans un post : initlistbox mais quand je le fais un message me signale variable non définie

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    initlistbox est certainement une fonction perso ça n'existe pas en vba natif

    je ne sais pas comment tu remplie ta listbox
    mais si c'est avec une plage ou un tableau structuré
    tu la met a jour simplement en la re remplissant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    range("A"&i).entiererow.delete
    with malistbox:.clear:.list=range("taplage").value:end with
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #8
    Membre actif
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 597
    Points : 204
    Points
    204
    Par défaut Leçon terminée
    Ok. Merci amicalement . J'ai noté beaucoup de choses.
    Passe une bonne journée. Je passerai sur une autre leçon , le cas des recherches intuitives car les tutos de boisgontier son géniaux mais trop de variable qui rendent dingue
    A plus

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

Discussions similaires

  1. Supprimer des lignes d'une feuille protégée
    Par lodan dans le forum Excel
    Réponses: 0
    Dernier message: 02/06/2016, 09h29
  2. [LibreOffice][Tableur] Dupliquer des lignes d'une feuille libre office calc sur une autre feuille
    Par loul1933 dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 06/11/2014, 11h07
  3. Supprimer des lignes dans une feuille Excel
    Par thefutureisnow dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/04/2011, 13h48
  4. Excel-copier des lignes sur une autre feuille
    Par petecul dans le forum Excel
    Réponses: 7
    Dernier message: 13/09/2007, 02h56

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