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 ligne avec macro textbox


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Points : 25
    Points
    25
    Par défaut supprimer ligne avec macro textbox
    bonjour j'ai une macro qui demande (dans des textbox) le numéro de la premiere ligne à supprimer et le nombre de ligne à supprimer

    pour programmer la suppression, j'ai écrit ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub BoutonOK_Click()
     
    c = numeroligne.Value
    n = nombreligne.Value
     
    For i = c To c + n
    Selection.Rows(i).EntireRow.Delete
    Next i
     
    End Sub
    je sais qu'il faut la modifier mais je n'arrive pas à savoir comment.

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    La boucle For...Next n'est pas vraiment nécessaire, tu peux essayer comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub BoutonOK_Click()
    Dim PremLigne As Integer, DerLigne As Integer
     
    PremLigne = numeroligne.Value
    DerLigne = numeroligne.Value + nombreligne.Value -1
     
    Rows(PremLigne & ":" & DerLigne).Delete
     
    End Sub

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Points : 25
    Points
    25
    Par défaut
    j'ai essayé ton programme et il me supprime toutes le slignes deja ecrites.
    c'est pas tout a fait l'effet recherche (lol).

    as-tu une autre solution ?

    merci

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Je ne comprend pas ? Tu demandes de supprimer de la ligne x à la ligne y, il n'est pas question dans ton code de vérifier si les lignes comportent quelque chose ou non !

    Peux-tu être un peu plus explicite ?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Points : 25
    Points
    25
    Par défaut
    le programme que tu m'as ecrit efface tout.
    Pourtant ton programme me parait juste.

    je lui ai demandé de m'effacer de la ligne 11 à 15 (j'ai entre 11 et 4 dans mes textbox) et je n'ai plus de tableau en dessous de la ligne 10 un fois que le programme a ete execute.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Points : 25
    Points
    25
    Par défaut
    j'ai reussi a contourner le probleme!!

    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
    Private Sub BoutonSuppression_Click()
     
    Dim PremLigne As Integer
    Dim DerLigne As Integer
    Dim c As Integer
    Dim n As Integer
    c = numeroligne.Value
    n = nombreligne.Value
     
    PremLigne = c
    DerLigne = c + n - 1
     
    Rows(PremLigne & ":" & DerLigne).Delete
    Unload UserForm9
     
    End Sub
    merci beaucoup pour ton aide
    ca m'a mis sur la bonne voie

  7. #7
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Etrange, le code est pourtant correcte, là comme ça je ne vois pas d'où vient le problème, essaye le petit bout de code ci-dessous avec simplement 2 InputBox.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Test()
    Dim PremLigne As Integer, DerLigne As Integer, NbLigne As Integer
     
    PremLigne = InputBox("A partir de quelle ligne ?")
    NbLigne = InputBox("Combien de lignes ?")
    DerLigne = PremLigne + NbLigne - 1
     
    Rows(PremLigne & ":" & DerLigne).Delete
     
    End Sub

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    J'espère que tu ne t'es pas obstiné à utiliser une boucle, en commençant par la premère ligne (car dans ce cas, en effet, tout serait effacé après la 10ème ligne...)
    Si tu fais une boucle, il faut commencer par la dernière ligne à effacer et continuer à effacer en remontant vers la premère ...

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Points : 25
    Points
    25
    Par défaut
    non je ne me suis pas obstinée (lol).

    Et puis mon code me va bien (meme si c'est de la bidouille)

    Merci pour votre aide

    bonne journee

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

Discussions similaires

  1. [XL-2003] Macro Supprimer ligne avec plusieurs critères
    Par lili189 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/08/2012, 16h45
  2. comment supprimer des lignes avec macros
    Par kadij dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/06/2009, 07h14
  3. supprimer une ligne avec macros
    Par czied dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/03/2009, 11h25
  4. Supprimer lignes avec doublons avec 2 conditions
    Par dan-12 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 17/03/2008, 10h44
  5. Supprimer ligne par macro
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/09/2007, 12h36

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