OVH Cloud OVH Cloud

Vba ou formule ?

3 réponses
Avatar
Naddor
Bonjour,

J'ai un problème et je pense que le seul moyen est de passer par une Macro
mais je suis plus que novice sur le VBA, c'est pourquoi j'ai besoin de votre
aide.

Une feuille de calcul posséde 2 cellules, une contenant un nombre aléatoire
et l'autre 0.
Comment faire pour qu'automatiquement dès que je tape dans la deuxième
cellule un nombre similaire a ma première cellule,
la première cellule passe à 0.

| 512 | 0 | --> | 0 | 512 |

Merci d'avance

3 réponses

Avatar
Daniel
Bonjour.
Suppose que les deux cellules soient A1 et A2. Tu mets dans le code de ta
feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$2" Then Exit Sub
If Target.Value = [A1] Then [A1] = 0
End Sub

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

Bonjour,

J'ai un problème et je pense que le seul moyen est de passer par une Macro
mais je suis plus que novice sur le VBA, c'est pourquoi j'ai besoin de
votre
aide.

Une feuille de calcul posséde 2 cellules, une contenant un nombre
aléatoire
et l'autre 0.
Comment faire pour qu'automatiquement dès que je tape dans la deuxième
cellule un nombre similaire a ma première cellule,
la première cellule passe à 0.

| 512 | 0 | --> | 0 | 512 |

Merci d'avance


Avatar
ABED HADDOU
Bonjour NADOR
Nome ta plage de saisie.
Selectionne ta plage de saisie puis Tu fait insertion,nom,définir, dans la
fenêtre en haut nom dans le classeur écris Plage
Ensuite clic droit au dessus de l’onglet au ce trouve ta plage et tu insert
ce code.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("Plage"), Target) Is Nothing And Target.Count = 1
Then
For Each C In Range("Plage")
If C.Value = Target.Value And C.Row <> Target.Row Then
C.Value = 0
Exit Sub
End If
Next C
End If
End Sub

Cordialement
Abed



Bonjour.
Suppose que les deux cellules soient A1 et A2. Tu mets dans le code de ta
feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$2" Then Exit Sub
If Target.Value = [A1] Then [A1] = 0
End Sub

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

Bonjour,

J'ai un problème et je pense que le seul moyen est de passer par une Macro
mais je suis plus que novice sur le VBA, c'est pourquoi j'ai besoin de
votre
aide.

Une feuille de calcul posséde 2 cellules, une contenant un nombre
aléatoire
et l'autre 0.
Comment faire pour qu'automatiquement dès que je tape dans la deuxième
cellule un nombre similaire a ma première cellule,
la première cellule passe à 0.

| 512 | 0 | --> | 0 | 512 |

Merci d'avance







Avatar
ABED HADDOU
oupssss....
si la saisie ce fait en colonne tu remplace Row par Column



Bonjour.
Suppose que les deux cellules soient A1 et A2. Tu mets dans le code de ta
feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$2" Then Exit Sub
If Target.Value = [A1] Then [A1] = 0
End Sub

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

Bonjour,

J'ai un problème et je pense que le seul moyen est de passer par une Macro
mais je suis plus que novice sur le VBA, c'est pourquoi j'ai besoin de
votre
aide.

Une feuille de calcul posséde 2 cellules, une contenant un nombre
aléatoire
et l'autre 0.
Comment faire pour qu'automatiquement dès que je tape dans la deuxième
cellule un nombre similaire a ma première cellule,
la première cellule passe à 0.

| 512 | 0 | --> | 0 | 512 |

Merci d'avance