Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

effacer le contenu de cellules

12 réponses
Avatar
Nicoh
Bonsoir à tous,

Je souhaiterais savoir comment on peut effacer le contenu de la cellule A2
alors que l'on supprime le contenu de la cellule A1 (en même temps), effacer
A4 quand on efface A3, etc

Merci de vos réponses

Nicoh

10 réponses

1 2
Avatar
Daniel
Bonsoir.
Mets cette macro dans le code de la feuille (elle est limitée à la colonne
A) :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
If Target = "" Then
Application.EnableEvents = False
Target.Offset(1, 0).ClearContents
Application.EnableEvents = True
End If
End Sub

Cordialement.
Daniel
"Nicoh" a écrit dans le message de news:

Bonsoir à tous,

Je souhaiterais savoir comment on peut effacer le contenu de la cellule A2
alors que l'on supprime le contenu de la cellule A1 (en même temps),
effacer
A4 quand on efface A3, etc

Merci de vos réponses

Nicoh


Avatar
cousinhub
Bonsoir, à insérer dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Column > 1 Then Exit Sub
If ActiveCell.Offset(-1, 0) = "" Then ActiveCell = ""
End Sub

Bon courage

Bonsoir à tous,

Je souhaiterais savoir comment on peut effacer le contenu de la cellule A2
alors que l'on supprime le contenu de la cellule A1 (en même temps), effacer
A4 quand on efface A3, etc

Merci de vos réponses

Nicoh


Avatar
Nicoh
Merci beaucoup Daniel.

Comment puis-je faire pour délimiter la macro à certaines plages en effaçant
le contenu de la cellule du dessus ou du dessous selon la plage. Je
m'explique par un exemple :
si j'efface A1, A2 s'efface ...
si j'efface B1, B2 s'efface ...
En C il ne se passe rien
Si j'efface D2, D1 s'efface, si j'efface E2, E1 s'efface ...

autrement dit le code que tu as produit permet d'effacer le contenu de la
cellule du dessous dans une colonne, je souhaite aussi que le contenu de la
cellule du dessus s'efface mais sur une ligne.

J'espère que ma demande est claire.

D'avance merci,

Nico



Bonsoir.
Mets cette macro dans le code de la feuille (elle est limitée à la colonne
A) :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
If Target = "" Then
Application.EnableEvents = False
Target.Offset(1, 0).ClearContents
Application.EnableEvents = True
End If
End Sub

Cordialement.
Daniel
"Nicoh" a écrit dans le message de news:

Bonsoir à tous,

Je souhaiterais savoir comment on peut effacer le contenu de la cellule A2
alors que l'on supprime le contenu de la cellule A1 (en même temps),
effacer
A4 quand on efface A3, etc

Merci de vos réponses

Nicoh







Avatar
cousinhub
Bonsoir Nicoh,
ta demande est vraiment trop vague pour bien déterminer tout ce que tu
désires, et ainsi qu'on puisse t'aider.
Peux-tu mettre exactement tous tes impératifs, mais en regardant de plus
près les solutions proposées, peut-être pourras-tu y répondre par
toi-même!
Amicalement

Merci beaucoup Daniel.

Comment puis-je faire pour délimiter la macro à certaines plages en effaçant
le contenu de la cellule du dessus ou du dessous selon la plage. Je
m'explique par un exemple :
si j'efface A1, A2 s'efface ...
si j'efface B1, B2 s'efface ...
En C il ne se passe rien
Si j'efface D2, D1 s'efface, si j'efface E2, E1 s'efface ...

autrement dit le code que tu as produit permet d'effacer le contenu de la
cellule du dessous dans une colonne, je souhaite aussi que le contenu de la
cellule du dessus s'efface mais sur une ligne.

J'espère que ma demande est claire.

D'avance merci,

Nico



Bonsoir.
Mets cette macro dans le code de la feuille (elle est limitée à la colonne
A) :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
If Target = "" Then
Application.EnableEvents = False
Target.Offset(1, 0).ClearContents
Application.EnableEvents = True
End If
End Sub

Cordialement.
Daniel
"Nicoh" a écrit dans le message de news:

Bonsoir à tous,

Je souhaiterais savoir comment on peut effacer le contenu de la cellule A2
alors que l'on supprime le contenu de la cellule A1 (en même temps),
effacer
A4 quand on efface A3, etc

Merci de vos réponses

Nicoh








Avatar
Nicoh
Bonsoir Cousinhub,

Je te remercie pour la réponse, j'essaie systémétiquement d'adapter les
solutions proposées, mais mes connaissances sont encore trop juste pour tout
comprendre. C'est pourquoi je pose beaucoup de question sur le forum.

Mes impératifs sont les suivants :
de A1 à A10, quand on efface A, A+1 s'efface, etc C'est le code que tu as
composé (qui en fonctionne pas chez moi) et celui de Daniel, mais sur la
colonne entière.
Par ailleurs, sur la plage C2:L2, quand on efface C2,C1 s'efface, etc

Par avance merci.


Bonsoir Nicoh,
ta demande est vraiment trop vague pour bien déterminer tout ce que tu
désires, et ainsi qu'on puisse t'aider.
Peux-tu mettre exactement tous tes impératifs, mais en regardant de plus
près les solutions proposées, peut-être pourras-tu y répondre par
toi-même!
Amicalement



Avatar
cousinhub
Re-,
A priori, si ma solution ne fonctionne pas dans ton classeur, c'est que
la cellule que tu "supprimes", ou dont tu mets la valeur à "RIEN", est
issue d'une instruction "macro", ou alors que l'option "Déplacement de
la sélection après validation" (issue de Outils/Options) n'est pas
configurée vers le bas.
Si cette cellule "mère" est "néantisée" suite à une instruction issue
d'une macro, pourquoi ne pas également "néantiser" la cellule "fille" en
fonction de son adresse?
Pour le reste de tes impératifs, en cours de réflessisage! -)
Bonne soirée


Bonsoir Cousinhub,

Je te remercie pour la réponse, j'essaie systémétiquement d'adapter les
solutions proposées, mais mes connaissances sont encore trop juste pour tout
comprendre. C'est pourquoi je pose beaucoup de question sur le forum.

Mes impératifs sont les suivants :
de A1 à A10, quand on efface A, A+1 s'efface, etc C'est le code que tu as
composé (qui en fonctionne pas chez moi) et celui de Daniel, mais sur la
colonne entière.
Par ailleurs, sur la plage C2:L2, quand on efface C2,C1 s'efface, etc

Par avance merci.


Bonsoir Nicoh,
ta demande est vraiment trop vague pour bien déterminer tout ce que tu
désires, et ainsi qu'on puisse t'aider.
Peux-tu mettre exactement tous tes impératifs, mais en regardant de plus
près les solutions proposées, peut-être pourras-tu y répondre par
toi-même!
Amicalement






Avatar
LSteph
Bonsoir,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim iSect As Range, jSect As Range, c As Range

Set iSect = Intersect(Target, Range("a1:a10"))
Set jSect = Intersect(Target, Range("c2:e2"))
If Not iSect Is Nothing Then
For Each c In iSect.Cells
Application.EnableEvents = False
If c.Value = "" Then _
c.Offset(1, 0).ClearContents
Application.EnableEvents = True
Next
End If
If Not jSect Is Nothing Then
For Each c In jSect.Cells
Application.EnableEvents = False
If c.Value = "" Then _
c.Offset(-1, 0).ClearContents
Application.EnableEvents = True
Next
End If

End Sub

'Cordialement.

'lSteph

Bonsoir Cousinhub,

Je te remercie pour la réponse, j'essaie systémétiquement d'adapter les
solutions proposées, mais mes connaissances sont encore trop juste pour tout
comprendre. C'est pourquoi je pose beaucoup de question sur le forum.

Mes impératifs sont les suivants :
de A1 à A10, quand on efface A, A+1 s'efface, etc C'est le code que tu as
composé (qui en fonctionne pas chez moi) et celui de Daniel, mais sur la
colonne entière.
Par ailleurs, sur la plage C2:L2, quand on efface C2,C1 s'efface, etc

Par avance merci.


Bonsoir Nicoh,
ta demande est vraiment trop vague pour bien déterminer tout ce que tu
désires, et ainsi qu'on puisse t'aider.
Peux-tu mettre exactement tous tes impératifs, mais en regardant de plus
près les solutions proposées, peut-être pourras-tu y répondre par
toi-même!
Amicalement






Avatar
Nicoh
Merci LSteph

c'est tout à fait ce qu'il me fallait.

Bonne soirée

PS : merci à Daniel et Counsinhub pour leurs réponses


Bonsoir,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim iSect As Range, jSect As Range, c As Range

Set iSect = Intersect(Target, Range("a1:a10"))
Set jSect = Intersect(Target, Range("c2:e2"))
If Not iSect Is Nothing Then
For Each c In iSect.Cells
Application.EnableEvents = False
If c.Value = "" Then _
c.Offset(1, 0).ClearContents
Application.EnableEvents = True
Next
End If
If Not jSect Is Nothing Then
For Each c In jSect.Cells
Application.EnableEvents = False
If c.Value = "" Then _
c.Offset(-1, 0).ClearContents
Application.EnableEvents = True
Next
End If

End Sub

'Cordialement.

'lSteph

Bonsoir Cousinhub,

Je te remercie pour la réponse, j'essaie systémétiquement d'adapter les
solutions proposées, mais mes connaissances sont encore trop juste pour tout
comprendre. C'est pourquoi je pose beaucoup de question sur le forum.

Mes impératifs sont les suivants :
de A1 à A10, quand on efface A, A+1 s'efface, etc C'est le code que tu as
composé (qui en fonctionne pas chez moi) et celui de Daniel, mais sur la
colonne entière.
Par ailleurs, sur la plage C2:L2, quand on efface C2,C1 s'efface, etc

Par avance merci.


Bonsoir Nicoh,
ta demande est vraiment trop vague pour bien déterminer tout ce que tu
désires, et ainsi qu'on puisse t'aider.
Peux-tu mettre exactement tous tes impératifs, mais en regardant de plus
près les solutions proposées, peut-être pourras-tu y répondre par
toi-même!
Amicalement









Avatar
Nicoh
Bonjour lSteph,

Comme je te le disais hier, la solution proposée correspond exactement à ce
que je recherche.
Mais, un petit détail m'avais échappé, mes cellules sont fusionnées. Donc,
la macro ne s'exécute pas !

Exemple :quand j'efface A1(¡+B1 (fusionnées), A2 (¢+B2 fusionnées)
s'efface , ...

Existe-t-il un remède ?

Merci et bonne journée.

nicoh


Bonsoir,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim iSect As Range, jSect As Range, c As Range

Set iSect = Intersect(Target, Range("a1:a10"))
Set jSect = Intersect(Target, Range("c2:e2"))
If Not iSect Is Nothing Then
For Each c In iSect.Cells
Application.EnableEvents = False
If c.Value = "" Then _
c.Offset(1, 0).ClearContents
Application.EnableEvents = True
Next
End If
If Not jSect Is Nothing Then
For Each c In jSect.Cells
Application.EnableEvents = False
If c.Value = "" Then _
c.Offset(-1, 0).ClearContents
Application.EnableEvents = True
Next
End If

End Sub

'Cordialement.

'lSteph

Bonsoir Cousinhub,

Je te remercie pour la réponse, j'essaie systémétiquement d'adapter les
solutions proposées, mais mes connaissances sont encore trop juste pour tout
comprendre. C'est pourquoi je pose beaucoup de question sur le forum.

Mes impératifs sont les suivants :
de A1 à A10, quand on efface A, A+1 s'efface, etc C'est le code que tu as
composé (qui en fonctionne pas chez moi) et celui de Daniel, mais sur la
colonne entière.
Par ailleurs, sur la plage C2:L2, quand on efface C2,C1 s'efface, etc

Par avance merci.




Avatar
lSteph
Bonjour,
(Pas génial les fusions, lire ce qui en est dit sur ce forum,
amha c'est une plaie pour toute fonctionnalité , à peine avancée
d'excel))


Ce doit être un micro -climat
Si cela avait été un cas possible, on aurait utilisé mergecells
Or,si tu fusionne a et b seul la valeur de A est conservée,
donc il n'y a rien à effacer en B!

Il y a donc probablement un sens dans cette question qui m'échappe.

si a1 et b1 sont fusionnées et
et a2 b2 aussi cela implique que
en b1 il n'y a rien et en b2 non plus.donc si on efface a1 la macro
efface
seulement a2 puisque même si elle efface b2 il n'y a rien dedans.

Tu peux essayer aussi a1b1 fusion et a2b2 non, dans cecas
seul A est effacé et dans le cas inverse on retombe sur le premier
cas.

Sauf précisions sur ton souci, je n'en vois donc pas.

@+

lSteph






On 14 fév, 08:21, Nicoh wrote:
Bonjour lSteph,

Comme je te le disais hier, la solution proposée correspond exactement à ce
que je recherche.
Mais, un petit détail m'avais échappé, mes cellules sont fusionné es. Donc,
la macro ne s'exécute pas !

Exemple :quand j'efface A1(¡+B1 (fusionnées), A2 (¢+B2 fusionn ées)
s'efface , ...

Existe-t-il un remède ?

Merci et bonne journée.

nicoh


Bonsoir,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim iSect As Range, jSect As Range, c As Range

Set iSect = Intersect(Target, Range("a1:a10"))
Set jSect = Intersect(Target, Range("c2:e2"))
If Not iSect Is Nothing Then
For Each c In iSect.Cells
Application.EnableEvents = False
If c.Value = "" Then _
c.Offset(1, 0).ClearContents
Application.EnableEvents = True
Next
End If
If Not jSect Is Nothing Then
For Each c In jSect.Cells
Application.EnableEvents = False
If c.Value = "" Then _
c.Offset(-1, 0).ClearContents
Application.EnableEvents = True
Next
End If

End Sub

'Cordialement.

'lSteph

Bonsoir Cousinhub,

Je te remercie pour la réponse, j'essaie systémétiquement d'ada pter les
solutions proposées, mais mes connaissances sont encore trop juste pour tout
comprendre. C'est pourquoi je pose beaucoup de question sur le forum.

Mes impératifs sont les suivants :
de A1 à A10, quand on efface A, A+1 s'efface, etc C'est le code que tu as
composé (qui en fonctionne pas chez moi) et celui de Daniel, mais s ur la
colonne entière.
Par ailleurs, sur la plage C2:L2, quand on efface C2,C1 s'efface, etc

Par avance merci.






1 2