Suppression d'une partie de tableau

fabi1joret

XLDnaute Junior
Bonsoir à tous
Après avoir fait une macro pour m'insérer une partie de tableau, aidé par l'enregistreur de macro, j'ai décidé de faire la démarche en sens inverse, supprimer une zone dans une feuille, mais là je bloque pour repérer les zones à supprimer.
J'ai joint un fichier avec les zones entourés pour mieux comprendre.
Je voudrais après un clic sur un bouton, la suppression d'une zone autour d'une cellule sélectionnée, sachant que plusieurs cellules peuvent être sélectionnées mais aussi que le nombre de ligne de la zone à supprimer peut être variable.
Toute aide sera là bien venu et merci d'avance
 

Pièces jointes

  • SDP.xlsm
    36.8 KB · Affichages: 62
  • SDP.xlsm
    36.8 KB · Affichages: 65
  • SDP.xlsm
    36.8 KB · Affichages: 63

Staple1600

XLDnaute Barbatruc
Re : Suppression d'une partie de tableau

Bonsoir à tous

Je te laisse tester sur ton fichier (décommentes/commentes la ligne idoine selon ton choix)
Code:
Sub a()
Dim derlb&, derlf&
derlb = Cells(Rows.Count, "B").End(xlUp).Row
derlf = Cells(Rows.Count, "F").End(xlUp).Row + 1
'Rows(derlb & ":" & derlf).ClearContents 'supprime le contenu
Rows(derlb & ":" & derlf).EntireRow.Delete 'supprime les lignes
End Sub
 

fabi1joret

XLDnaute Junior
Re : Suppression d'une partie de tableau

merci pour ta réponse...
désolé si je répond deux fois, je pensait avoir envoyé ma réponse mais apparemment pas...
Ton code est un très bon début puisqu'il prend bien en compte le nombre de ligne variable pour leurs suppressions.
Par contre il aurai fallu que la zone qu'il supprime soit celle ou il y a une cellule de sélectionné.
Je veux passer par le vba pour pouvoir verrouiller le tableau par la suite, et le donner comme outil de travail à des élèves qui ne connaissent pas trop excel. ils ne pourront se déplacer que dans les cellules rose et un message leurs demandera une confirmation de suppression (mais ça je m'en charge).
 

Staple1600

XLDnaute Barbatruc
Re : Suppression d'une partie de tableau

Bonjour à tous

fabi1joret:
Peut-on imaginer que la sélection se fasse uniquement dans la colonne B (ce serait plus facile pour déterminer la zone à sélectionner et supprimer)
fabi1.png
Ici dans la cellule active est B16 et derlf est égale à 20 (19+1)
Donc la zone à supprimer est A16:AA20
D'ailleurs, tu veux supprimer les lignes ou simplement effacer le contenu des cellules ?

Si la sélection doit être comme tu l'indiques, je ne vois pas comment identifier B16 pour reprendre mon exemple.
Car si on peut être en F17,F18 ....Fn , donc comment savoir qu'il faut remonter jusqu'à B16 ?
 
Dernière édition:

fabi1joret

XLDnaute Junior
Re : Suppression d'une partie de tableau

Bonjour Staple1600
Donc le but est bien de supprimer complètement les lignes.
Pour facilité la programmation, j'ai eu l'idée cette nuit de supprimer complètement le contenu des lignes bleues qui encadre en haut et en bas chaque sous détail. Elles n'étaient utile que lorsque qu'il n'y avait aucun programme vba pour les recopier lorsque que j'insérais des lignes.
Peut être faudrait-il effectuer un premier décalage vers une colonne toujours identique sur la même ligne que la cellule active pour ensuite remonter et descendre la sélection.
Je m'occupe tout de suite de renvoyer le classeur allégé des autres feuilles, mais cette fois avec les autres macro qui vont avec. Peut-être que ça pourrais aider pour le raisonnement
 

fabi1joret

XLDnaute Junior
Re : Suppression d'une partie de tableau

Voilà la feuille complète. Le mot de passe pour ôter la protection est toto. Du coup tu pourras mieux te rendre compte des cellules que l'on pourra utiliser.
La procédure "Supprimer_Sous_Détail" à été changer en .select au lieu de .delete pour éviter les modifications à chaque essai (mais le but est bien de supprimer...)
 

Pièces jointes

  • SDP.xlsm
    431.4 KB · Affichages: 43
  • SDP.xlsm
    431.4 KB · Affichages: 41
  • SDP.xlsm
    431.4 KB · Affichages: 34

fabi1joret

XLDnaute Junior
Re : Suppression d'une partie de tableau

J'ai oublier de préciser que je pensait également ajouter une condition pour le cas ou l'utilisateur se situerai dans les colonne B:E, puisque la ligne correspondante n'a plus du tout la même mise en forme.
Voilà...
 

fabi1joret

XLDnaute Junior
Re : Suppression d'une partie de tableau

Bonsoir aux Excellien somnambule.
Après quelques heures acharnées à essayer de résoudre mon problème et par la même occasion apprendre le vba, j'ai enfin trouvé la solution.
Je laisse le fichier si ça intéresse quelqu'un de voir le résonnement.
Plus qu'un petit bug à corriger à l'insertion d'un sous détail et je pourrai aller me couché (en espérant y arriver assez vite).
Si quelqu'un peut m'expliquer comment signaler le problème comme résolu, je n'ai pas trouvé. Ou les neurones trop en compote pour le voir...
 

Pièces jointes

  • SDP.xlsm
    430.5 KB · Affichages: 38
  • SDP.xlsm
    430.5 KB · Affichages: 22
  • SDP.xlsm
    430.5 KB · Affichages: 31

Discussions similaires

Réponses
2
Affichages
638

Statistiques des forums

Discussions
312 487
Messages
2 088 824
Membres
103 971
dernier inscrit
abdazee