Effacer des cellules sous Excel
Résolu/Fermé
gorby1980
-
30 nov. 2011 à 14:22
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 2 déc. 2011 à 13:52
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 2 déc. 2011 à 13:52
A voir également:
- Effacer des cellules sous Excel
- Formule excel pour additionner plusieurs cellules - Guide
- Liste déroulante excel - Guide
- Verrouiller des cellules excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
7 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
1 déc. 2011 à 11:52
1 déc. 2011 à 11:52
Bonjour
essaies ce code (ta 1° colonne est A)
pour installer
fais un copier de ce code
clic droit sur l'onglet de la ta feuille-visualiser le code
coller
il faut bien sûr que les macros soient autorisées !!!! (connais pa XL2010)
essaies ce code (ta 1° colonne est A)
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Columns("A")) Is Nothing Then If IsEmpty(Target) Then Application.EnableEvents = False Rows(Target.Row).ClearContents Application.EnableEvents = False End If End If End Sub
pour installer
fais un copier de ce code
clic droit sur l'onglet de la ta feuille-visualiser le code
coller
il faut bien sûr que les macros soient autorisées !!!! (connais pa XL2010)
Certes, ça marche, mais ce n'est pas ce que je veux. Je prépare un fichier que d'autres vont utiliser. Il me faudrait un code qui remette à zéro les listes déroulantes quand quelqu'un efface le contenu de la première cellule de la ligne.
Ou, autre possiblité, la première ligne de chaque liste déroulante est une ligne vierge. Savoir s'il est possible, lorsque la première cellule de la ligne est vidée, que chaque liste déroulante sélectionne automatiquement cette ligne vierge.
Note : la mise en place peut être complexe, pourvu que ce soit ensuite simple à utiliser pour les utilisateurs futurs.
Note : la mise en place peut être complexe, pourvu que ce soit ensuite simple à utiliser pour les utilisateurs futurs.
(censuré) de boss !!
Maintenant, il veut que je rajoute des colonnes avec des formules basées sur le contenu des listes déroulantes. Et avec protection de la feuille. Et évidemment ça coince avec le code Visual que j'ai copié.
Est-ce qu'il faut que j'ouvre un nouveau sujet pour aborder cette suite ?
Maintenant, il veut que je rajoute des colonnes avec des formules basées sur le contenu des listes déroulantes. Et avec protection de la feuille. Et évidemment ça coince avec le code Visual que j'ai copié.
Est-ce qu'il faut que j'ouvre un nouveau sujet pour aborder cette suite ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
1 déc. 2011 à 17:01
1 déc. 2011 à 17:01
non,
mais joins un classeur et explique le caprice de la Diva
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
mais joins un classeur et explique le caprice de la Diva
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
http://cjoint.com/?ALciGzIQZ2b
J'ai enlevé provisoirement la macro. Donc, à la base, les colonnes C et E étaient des listes déroulantes. Ma "diva" (ça lui va bien) a fait la demande que ces deux colonnes soient liées à la colonne D (en remplissant la colonne D, les colonnes C et E se remplissent selon l'onglet Modifications et inversément). De même, des formules permettent de remplir les colonnes J-T à partir de la colonne I.
Il faut protéger la feuille afin que les colonnes à formules ne puissent pas être accidentellement modifiées, mais la protection bloque ta macro et, sans protection, la macro efface les formules, ce qu'il faudrait éviter.
J'ai enlevé provisoirement la macro. Donc, à la base, les colonnes C et E étaient des listes déroulantes. Ma "diva" (ça lui va bien) a fait la demande que ces deux colonnes soient liées à la colonne D (en remplissant la colonne D, les colonnes C et E se remplissent selon l'onglet Modifications et inversément). De même, des formules permettent de remplir les colonnes J-T à partir de la colonne I.
Il faut protéger la feuille afin que les colonnes à formules ne puissent pas être accidentellement modifiées, mais la protection bloque ta macro et, sans protection, la macro efface les formules, ce qu'il faudrait éviter.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
2 déc. 2011 à 09:49
2 déc. 2011 à 09:49
Bonjour,
pour confirmation: on ne supprime les données de la ligne que colonnes B, D, F,G,H ?
des trucs à faire ce matin, donc, sois patient (un bisou pour la diva)
pour confirmation: on ne supprime les données de la ligne que colonnes B, D, F,G,H ?
des trucs à faire ce matin, donc, sois patient (un bisou pour la diva)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
2 déc. 2011 à 11:49
2 déc. 2011 à 11:49
re,
au passage,merci Eric d'avoir corrigé mon étourderie habituelle ;o) (j'vieillis mal)
et la macro de secours à mettre dans un coin
au passage,merci Eric d'avoir corrigé mon étourderie habituelle ;o) (j'vieillis mal)
Private Sub Worksheet_Change(ByVal Target As Range) Dim Derlig As Integer, Lig As Integer Derlig = Columns("A").Find("*", , , , , xlPrevious).Row + 1 If Not Intersect(Target, Range("A2:A" & Derlig)) Is Nothing Then If IsEmpty(Target) Then Application.EnableEvents = False Lig = Target.Row Cells(Lig, "B") = "" Cells(Lig, "D") = "" Range(Cells(Lig, "F"), Cells(Lig, "I")) = "" Application.EnableEvents = True End If End If End Sub
et la macro de secours à mettre dans un coin
Sub SOS() Application.EnableEvents = True End Sub
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
2 déc. 2011 à 13:22
2 déc. 2011 à 13:22
si pour une raison quelconque on sort de la macro alors que enableevents (events=événements)est activé (true), plus aucune macro ne fonctionne. c'est d'ailleurs l"'étourderie qu'avait signalé Eric, d'où cette macro SOs
Bon WE, je coche "résolu"
Bon WE, je coche "résolu"
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
2 déc. 2011 à 13:52
2 déc. 2011 à 13:52
profite en pour demander une prime! ;o))
Mrfrize
Messages postés
188
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
28 novembre 2023
6
30 nov. 2011 à 14:33
30 nov. 2011 à 14:33
Tu selectionnes la ligne entiere que tu veux remettre a 0 en cliquant sur le numéro de ligne. et tu apuis sur sup. Normalement ca devrais marcher. Je ne connais pas le 2010 mais sur toute les autres versions ca marche.
Mrfrize
Messages postés
188
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
28 novembre 2023
6
1 déc. 2011 à 12:06
1 déc. 2011 à 12:06
Essaye cette macro,
Sub supligne()
Dim Dligne As Integer
Dim i As Long
'determine la derniere ligne du tableau de la feuille
Dligne = ActiveSheet.UsedRange.Rows.Count
'Efface les valeurs de toute la ligne quand la cellule Ai est vide
For i = 1 To Dligne Step 1
If Cells(i, 1).Value = "" Then Rows(i).ClearContents
Next i
End Sub
Elle efface les lignes dont la premiere cellule est vide.
Sub supligne()
Dim Dligne As Integer
Dim i As Long
'determine la derniere ligne du tableau de la feuille
Dligne = ActiveSheet.UsedRange.Rows.Count
'Efface les valeurs de toute la ligne quand la cellule Ai est vide
For i = 1 To Dligne Step 1
If Cells(i, 1).Value = "" Then Rows(i).ClearContents
Next i
End Sub
Elle efface les lignes dont la premiere cellule est vide.
Mrfrize
Messages postés
188
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
28 novembre 2023
6
1 déc. 2011 à 17:43
1 déc. 2011 à 17:43
Pourquoi vous dénigrez ma macro? Il y a quelque chose qui ne vas pas dedans? Je l'ai essayé elle marche tres bien.
Si quelque chose ne vas pas dite le moi que je progresse.
Merci d'avance
Si quelque chose ne vas pas dite le moi que je progresse.
Merci d'avance
1 déc. 2011 à 14:35
1 déc. 2011 à 14:48
un copié-collé non modifié par michel.
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Columns("A")) Is Nothing Then If IsEmpty(Target) Then Application.EnableEvents = False Rows(Target.Row).ClearContents Application.EnableEvents = True End If End If End Sub
1 déc. 2011 à 15:03