Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supprimer cellule par raport a une selection inversse [ Résolu ]

  • Initiateur de la discussion Initiateur de la discussion stef371967
  • 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 !

S

stef371967

Guest
Bonjour a tous voici mon petit problème

avec une commande par bouton une ligne de commande
pour une suppression de ligne voir mon fichier joint pour les détails
car la je coince..

attention il y a des insertion automatique de ligne avec le bouton existent
bleu " Nouv N° d'ordre"

enfin voila

merci a vous d'avance pour votre travail

Stef...............
 
Dernière modification par un modérateur:
Re : Supprimer cellule par raport a une selection inversse

Bonjour stef371967,

Une solution avec cette macro :
VB:
Private Sub CommandButton2_Click()
Dim A
   ' ActiveSheet.Unprotect
    A = Split(Range("a_classer").Address, ",") 'On reprend la fin de l'adresse de ta zone nommée
    Rows("38:" & Val(Mid(A(1), 4, InStr(A(1), ":") - 2)) - 1).Delete 'On récupère le num de la dernière ligne à effacer et on efface les lignes 38 à ce numéro trouvé.
    'ActiveSheet.Protect Contents:=True, Scenarios:=True
End Sub
 
Re : Supprimer cellule par raport a une selection inversse

mais bien sur excuse moi je suis novice en VBA

Juste une dernière chose . si je clic une seconde foi sur le bouton il me supprime toujours des lignes
y a til un moyen pour bloquer la manip avec seulement en affichage de base avec le N°d'ordre N°1

Merci... bon boulot
 
Dernière modification par un modérateur:
Re : Supprimer cellule par raport a une selection inversse

Re,

Il te suffit de modifier une ligne dans la macro. Essaie comme ceci :
VB:
Private Sub CommandButton2_Click()
Dim A
   ' ActiveSheet.Unprotect
   A = Split(Range("a_classer").Address, ",") 'On reprend la fin de l'adresse de ta zone nommée
   If Val(Mid(A(1), 4, InStr(A(1), ":") - 2)) - 1 > 37 Then Rows("38:" & Val(Mid(A(1), 4, InStr(A(1), ":") - 2)) - 1).Delete 'On récupère le num de la dernière ligne à effacer et on efface les lignes 38 à ce numéro trouvé.
   'ActiveSheet.Protect Contents:=True, Scenarios:=True
End Sub
 
Re : Supprimer cellule par raport a une selection inversse

Re re,

Et sinon pour le n° d'ordre, tu peux nommer la plage (par exemple toto). Et à la fin de la macro, tu places un:
Code:
Range("toto") = 1
pour le remettre à 1, mais je trouve ça moins bien. A toi de voir.
 
Re : Supprimer cellule par raport a une selection inversse [ Résolu ]

Bonsoir à tous


Une autre façon d'identifier le Row désiré

Code:
Sub a()
MsgBox Rows("38:" & Range("a_classer").Areas.Item(2).Row - 1).Address
End Sub
 
Dernière édition:
Re : Supprimer cellule par raport a une selection inversse [ Résolu ]

Bonjour Stef, Salutations Staple1600,

Merci pour ta solution Staple1600, qui rend la mienne très compliquée au regard de la simplicité de la tienne. Beau raccourci ! 🙂
Dans le genre j'aime bien me compliquer la vie, j'avais aussi pensé faire comme ceci au départ, je te laisse juger :
VB:
Private Sub CommandButton2_Click()
Dim Zone As Range, Tableau
On error goto 0
Set Zone = Intersect(ActiveSheet.UsedRange, Columns("A:N")) 'La zone qui doit être traitée
Range("a_classer").Select
With Zone
    Tableau = .Value 'On garde les valeurs des col A à N dans un tableau
    .Value = 1 ' On met des 1 partout
    Selection.ClearContents 'Sauf dans la sélection (donc dans a_classer)
    .SpecialCells(xlCellTypeConstants, 23).Select 'On sélectionne ce qui n'est pas vide (donc tout sauf la plage a_classer)
    .Value = Tableau ' et on remet les valeurs d'origine
    Selection.entirerow.delete 'et y a plus qu'à tailler dans le gâteau
End With
0 End Sub

Mais je reste convaincu, que y avait surement bcp bcp plus compliqué ^^
 
Re : Supprimer cellule par raport a une selection inversse [ Résolu ]

Bonjour Softmama

Qu'importe le flacon, pourvu qu'on ait l'ivbaresse. 😉

Si j'ai privilégié mon approche, c'est que sur le PC où je suis actuellement, je dois à chaque fois rajouté dans ton code VBA.Mid sinon j'ai un message d'erreur. C'est ce qui m'a enclin à chercher une autre piste.

Moi aussi je m'amuse parfois à compliquer histoire de jouer avec VBA.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

N
Réponses
3
Affichages
1 K
nemrod57
N
H
Réponses
2
Affichages
957
H
R
Réponses
2
Affichages
1 K
Romain_rpn
R
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…