Suppression de page, de ligne en VBA

  • Initiateur de la discussion Initiateur de la discussion Meosus
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Meosus

XLDnaute Nouveau
Bonjour à tous,

Je vient vers vous car je suis contraint d'avoir votre aide pour continuer.
J'ai un classeur dans lequel une page de garde ou y est inscrit le non des différentes feuille du classeur.
J'ai une feuille "récapitulatif" qui récapitule les feuilles du classeur avec plusieurs donné précise des feuilles sur une ligne (Ligne composé de:
- Nom de la feuille 1; total généré dans la feuille 1, etc...
- Nom de la feuille 2; total generé dans la feuille 2, etc...)

Sur la feuille "récapitulatif" un bouton permet de lancer la macro de suppression.

Je souhaiterai que cette macro réalise:

Suppression de la feuille sélectionner à partir d'une liste déroulante déjà crée via un userform,
Ensuite elle supprime la feuille, le nom de la feuille sur la page de garde et la ligne dans la feuille "récapitulatif"

Ci joint le code que j'ai récupérer, et modifier un peu, il fonctionne pas terrible même pas du-tout.
Pouvez-vous m'aider sur ce sujet:

Code:
Sub MacroSuppression()
'
'
' Macro enregistrée le 28/07/2012 par Meosus
'

' Suppression armoire

    Dim Msg, Style, Title, Help, Ctxt, Response, MyString
    Msg = "Attention l'armoire sera définitivement supprimée !!"
    Style = vbOKCancel
    Title = "Confirmer la suppression ?"
    Response = MsgBox(Msg, Style, Title, Help, Ctxt)
    If Response = vbCancel Then
    End
    End If
    Dim n
    n = Sheets.Count
    If n <= 3 Then
    End
    End If
    Application.ScreenUpdating = False
    ListeDeroulante1.Show
    If Range("PG!B151").Value = "" Then
       End
    End If
    ResultatChoix = Range("PG!B151").Value
    Sheets(ResultatChoix).Select
    Application.DisplayAlerts = False
    ActiveWindow.SelectedSheets.Delete
    Application.DisplayAlerts = True
    ' Nettoyage feuille récap
    Sheets("Récapitulatif").Select
    Range("A19:Y40").Select
    For Each oCell In Selection
    If IsError(oCell) Then
    If oCell = CVErr(xlErrRef) Then
    oCell.ClearContents
    End If
    End If
    Next oCell
    Range("A19:V40").Select
    Selection.Sort Key1:=Range("A19"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Application.Goto Reference:="LISTE_DES_FEUILLES"
    For Each oCell In Selection
    If oCell = ResultatChoix Then
    oCell.ClearContents
    End If
    Next oCell
    Range("A152:A167").Select
    Selection.Sort Key1:=Range("A152"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Sheets("Récapitulatif").Select
    Range("A1").Select
    Application.ScreenUpdating = True

End Sub

Cordialement

Meosus
 
Re : Suppression de page, de ligne en VBA

Sans pièce jointe je ne peux t'aider que partiellement

Pour effacer une ligne : Rows("x:x").Delete Shift:=xlUp
pour effacer une feuille : Sheets(x).Delete

Pour ta feuille, tu dois déclarer une variable publique pour qu'elle puisse être transposée d'une macro a une autre, à placer dans un module quelquonque : Public mavariable As Integer

Tu dois ensuite utiliser ton userform pour définir mavariable et par la suite Sheets(mavariable).delete
Pour la ligne je figure que tu devra utiliser une autre variable puis la fonction rechercher pour l'effacer.

Voilà la limite de l'aide possible sans pièce jointe.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
212
Réponses
7
Affichages
164
Réponses
5
Affichages
241
Réponses
3
Affichages
673
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
318
Retour