OVH Cloud OVH Cloud

Problème de code VBA

8 réponses
Avatar
Steve
Bonsoir,
Je n'arrive pas à écrire le code VBA pour une opération simple.
J'ai essayé avec l'enregisrement automatique mais rien de bien.
je voudrai effacer le contenu de la cellule B2 d'une feuille2 lorsque je
change la valeur de la cellule A1 de la feuille1.
Merci de votre aide.

8 réponses

Avatar
Daniel
Bonjour.
Mets cette macro dans la feuille "Feuil1" :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Range("B2").ClearContents
End Sub

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

Bonsoir,
Je n'arrive pas à écrire le code VBA pour une opération simple.
J'ai essayé avec l'enregisrement automatique mais rien de bien.
je voudrai effacer le contenu de la cellule B2 d'une feuille2 lorsque je
change la valeur de la cellule A1 de la feuille1.
Merci de votre aide.



Avatar
LSteph
Bonsoir "Steve",
'copies ceci entre les ''':
''''''''
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range
Set isect = Intersect(Target, [a1])
If Not isect Is Nothing Then _
Feuil2.[b2].ClearContents
End Sub
'''''''
'puis:

'sur l'onglet de feuil1 fais clic droit
'Visualiser code
'vbe apparaît sur le module de code (vide) de feuil1
'coller
'clic sur croix tout en haut à droite pour fermer vbe

'entrer un truc en a1 de feuil1

'lSteph

"Steve" a écrit dans le message de news:

Bonsoir,
Je n'arrive pas à écrire le code VBA pour une opération simple.
J'ai essayé avec l'enregisrement automatique mais rien de bien.
je voudrai effacer le contenu de la cellule B2 d'une feuille2 lorsque je
change la valeur de la cellule A1 de la feuille1.
Merci de votre aide.



Avatar
Steve
Merci Daniel
Cette macro fonctionne bien.
Mais j'ai un problème, je voulais profiter du code pour effectuer plusieurs
opérations semblables.
effacer B2 feuil2 quand A1 feuil1 change de valeur
mais aussi effacer D2 feuil2 quand C1 feuil1 change de valeur et aussi
effacer......
mais malheureusement ......
Merci encore

"Daniel" a écrit dans le message de news:

Bonjour.
Mets cette macro dans la feuille "Feuil1" :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Range("B2").ClearContents
End Sub

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

Bonsoir,
Je n'arrive pas à écrire le code VBA pour une opération simple.
J'ai essayé avec l'enregisrement automatique mais rien de bien.
je voudrai effacer le contenu de la cellule B2 d'une feuille2 lorsque je
change la valeur de la cellule A1 de la feuille1.
Merci de votre aide.







Avatar
anonymousA
Bonjour,

constitue un Union des ranges qui t'interessent puis fais l'intersection
de Target avec ton Union.
Puis ensuite travaille sur l'addresse de ton target avec un select Case
pour faire les différents cas de figure qui t'interessent.

Un Union va jusqu'à 30 plages et si c'est nécéssaire d'aller au delà, il
est toujours possible de faire un union de ranges dont l'un ou plusieurs
des ranges sont eux-mêmes des Union. Ceci dit , ce qui devient pénible
ensuite c'est de gérer le Select case dont les cases peuvent peuvent
être du coup très nombreux. M'enfin, c'est toi qui vois.

A+

Merci Daniel
Cette macro fonctionne bien.
Mais j'ai un problème, je voulais profiter du code pour effectuer plusieurs
opérations semblables.
effacer B2 feuil2 quand A1 feuil1 change de valeur
mais aussi effacer D2 feuil2 quand C1 feuil1 change de valeur et aussi
effacer......
mais malheureusement ......
Merci encore

"Daniel" a écrit dans le message de news:


Bonjour.
Mets cette macro dans la feuille "Feuil1" :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Feuil2").Range("B2").ClearContents
End Sub

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


Bonsoir,
Je n'arrive pas à écrire le code VBA pour une opération simple.
J'ai essayé avec l'enregisrement automatique mais rien de bien.
je voudrai effacer le contenu de la cellule B2 d'une feuille2 lorsque je
change la valeur de la cellule A1 de la feuille1.
Merci de votre aide.











Avatar
AV
| effacer B2 feuil2 quand A1 feuil1 change de valeur
| mais aussi effacer D2 feuil2 quand C1 feuil1 change de valeur et aussi
| effacer......

En poursuivant ta "logique" (si je devine bien..?)
Dans le module de "Feuil1" :

Private Sub Worksheet_Change(ByVal zz As Range)
Sheets("Feuil2").Range(zz.Range("B2").Address) = ""
End Sub

Si tu veux comparer la valeur saisie à celle éventuellement précédemment
présente, il faut le spécifier car l'affaire se complique forcément un poil de
plus

AV
Avatar
Steve
Bonjours AV
Merci beaucoup pour ton aide mais je n'arrive pas à adapter ta procédure
pour :
Changer E4 Feuil1.....Efface E7de la Feuil2
Changer I4 Feuil1.....Efface I7 de la Feuil2
Changer M4 Feuil1.....Efface M7 et M10 et M11 de la Feuil2
Changer Q4 Feuil1.....Efface Q7 et Q10 et Q11 Feuil2

Steve

"AV" a écrit dans le message de news:
OFphf$
| effacer B2 feuil2 quand A1 feuil1 change de valeur
| mais aussi effacer D2 feuil2 quand C1 feuil1 change de valeur et aussi
| effacer......

En poursuivant ta "logique" (si je devine bien..?)
Dans le module de "Feuil1" :

Private Sub Worksheet_Change(ByVal zz As Range)
Sheets("Feuil2").Range(zz.Range("B2").Address) = ""
End Sub

Si tu veux comparer la valeur saisie à celle éventuellement précédemment
présente, il faut le spécifier car l'affaire se complique forcément un
poil de
plus

AV




Avatar
AV
| Merci beaucoup pour ton aide mais je n'arrive pas à adapter ta procédure
| pour :
| Changer E4 Feuil1.....Efface E7de la Feuil2
| Changer I4 Feuil1.....Efface I7 de la Feuil2

Jusque là, il y a une logique...

| Changer M4 Feuil1.....Efface M7 et M10 et M11 de la Feuil2
| Changer Q4 Feuil1.....Efface Q7 et Q10 et Q11 Feuil2

A partir de là on change de logique !

Il faut donc autant de solutions qu'il y a de logiques différentes.....

AV
Avatar
Steve
Merci AV

"AV" a écrit dans le message de news:
%
| Merci beaucoup pour ton aide mais je n'arrive pas à adapter ta procédure
| pour :
| Changer E4 Feuil1.....Efface E7de la Feuil2
| Changer I4 Feuil1.....Efface I7 de la Feuil2

Jusque là, il y a une logique...

| Changer M4 Feuil1.....Efface M7 et M10 et M11 de la Feuil2
| Changer Q4 Feuil1.....Efface Q7 et Q10 et Q11 Feuil2

A partir de là on change de logique !

Il faut donc autant de solutions qu'il y a de logiques différentes.....

AV