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 une ligne et une feuille en meme temps


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Maiden002
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Par défaut Supprimer une ligne et une feuille en meme temps
    Bonjour,

    Je cherche a pouvoir supprimer une ligne et une feuille en même temps.

    Je m'explique j'ai une page principal avec des lignes dans un tableau et un bouton supprimer et des feuilles aussi.

    J'ai une valeurs identiques entre mon tableau(feuille) et ma feuille qui est une références.

    En faites dans mon tableau dans la colone A il y a la reference d'un produit et automatiquement j'ai une feuille avec comme nom cette références.

    Ex : tableau => reference => "ordinateur"
    feuille => nom de feuille => "ordinateur"

    Ce que je souhaiterai faire, c'est quand je clique sur mon bouton supprimer de mon tableau qu'il me supprime m'a ligne mais avant il va chercher ma valeur de ma ref et trouver la feuille qui porte le meme nom et l'a supprimer.

    Avez vous une idée, car je tourne autour du pot depuis pas mal de temps.

    Merci beaucoup

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,
    en lisant le titre de ce post je me suis dit tiens j'ai l'impression d'avoir déjà vu ce problème, je fait un recherche et je tombe sur ce poste
    VBA - Suppresion ligne/feuille créé par Maiden002

    D'ailleurs ma dernière proposition est toujours sans réponse de ta part...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Par défaut
    Bonjour Krovax, Maiden002,

    Je vais en profiter pour rebondir sur la question de Maiden... Mon problème est légèrement différent, mais je n'ai pas vraiment réussi à adapter le code de Krovax à mon cas !
    Voila, j'ai une liste dans une cellule avec les valeurs "Yes" et "No". Ce que j'aimerais, c'est que si la valeur de la dite cellule est "No", une feuille soit supprimé...

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    tu boucle sur les cellule de ta colonne
    les no sont en colonne 2 (soit B) le nom de la feuille en colonne 1 (soit A)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for i = derniereligne to 2 step -1
    if cells(i,2)="No" then
    sheets(cells(i,1)).delete
    rows(i).delete 'supprime la ligne
    end if
    next i
    Noubli pas les display alerte

    Pour connaitre la dernière ligne d'une colonne regarde dans le forum http://www.developpez.net/forums/d45...gnees-feuille/

    edit : il vau quand même mieux ouvrir un sujet a chaque question et ne pas se mettre a deux sur le même

  5. #5
    Membre confirmé Avatar de Maiden002
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Par défaut
    Bonjour Krovax,

    Je suis désolé j'ai complétement oublier que j'avais d'une part créer un sujet sur ce théme, et j'avais meme pas vu que tu m'avais répondu.

    Encore désolé, je vais utilisé le code que tu m'a donner dans l'autre sujet et je te dirai ce qu'il en est.

  6. #6
    Membre confirmé Avatar de Maiden002
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Par défaut
    J'ai appliquer le code que tu m'avais donné et je lé adapté a un autre que tu m'avais donné.

    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
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
       Dim ldeb As Long
                Dim lfin As Long
                    ldeb = 14 'première ligne du tableau pouvant etre dupprimé
                    lfin = 100 'dernièreligne du tableau pouvant être supprimé
     
     
                    If Not Intersect(Target, Range("I" & ldeb & ":I" & lfin)) Is Nothing And Target.Count = 1 Then
                            Select Case MsgBox("Voulez vous supprimer la ligne " & Target.Row & " ?", vbOKCancel + vbQuestion)
                            Case vbOK
                            Application.DisplayAlerts = False
                            Sheets(Sheets("feuille").Range("A" & i)).Delete
                            Sheets("feuille").Rows(i).Delete
                            Application.DisplayAlerts = True
                            End Select
                    End If
     
    End Sub
    Qu'en pense tu ?

    Il y a une ligne que je comprends pas vraiment (encore désolé je débute en VB)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(Sheets("feuille").Range("A" & i)).Delete
    Que signifie cette ligne ?? Car enfaite quand j'exécute le code il me dit une erreur a cet ligne (i = Vide)

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/01/2015, 18h30
  2. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [E-00] Syntaxe pour insérer une ligne ou une colonne dans une feuille
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/02/2009, 09h27
  5. supprimer une ligne et une colonne d'une matrice
    Par nessing dans le forum C++Builder
    Réponses: 8
    Dernier message: 14/08/2007, 15h42

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