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

Faire une synchro' d'une cellule suivant une valeur précise

3 réponses
Avatar
nyko
Bonjour,

Logiciel : Excel 2000 (vers 9.0.3821 SR1)
Windows XP SP2

Je d=E9sire faire une macro qui me permetterait de faire une synchro
entre deux feuilles, si une valeur se trouve identique dans la colonne
A dans les deux feuilles, alors copier la valeur de la colonne B (de
la m=EAme ligne de la valeur identique) de la feuille 1 =E0 la feuille 2.

Merci d'avance pour votre aide.

Cordialement,

Nicolas.

3 réponses

Avatar
Hervé
Bonsoir Nyko,
A mettre dans le module de la feuille où sont effectués les modifications,
les commentaires sont dans le code pour mieux le comprendre :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Fe As Worksheet
'la feuille où doivent être copiées les valeur
's'appelle, ici, "Feuil2", à adapter
Set Fe = Worksheets("Feuil2")
'si la cellule subissant la modif est en colonne A
'et que seulement une seule cellule est concernée
If Not Intersect(Target, Columns("A")) Is Nothing _
And Target.Count = 1 Then
'compare les valeurs d'une feuille à l'autre et
'd'une cellule à l'autre, si elles sont identiques
'colle la valeur de la cellule en colonne B dans
'la cellule (en colonne B) correspondante
If Target.Value = Fe.Range(Target.Address) Then
Fe.Range(Target.Address).Offset(0, 1) = Target.Offset(0, 1)
Else
'si la cellule doit être vidée de sont contenu
'quand la valeur devient différente
'enlever l'apostrophe devant la ligne qui suis
'Fe.Range(Target.Address).Offset(0, 1) = ""
End If
End If
Set Fe = Nothing
End Sub

Hervé.


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

Bonjour,

Logiciel : Excel 2000 (vers 9.0.3821 SR1)
Windows XP SP2

Je désire faire une macro qui me permetterait de faire une synchro
entre deux feuilles, si une valeur se trouve identique dans la colonne
A dans les deux feuilles, alors copier la valeur de la colonne B (de
la même ligne de la valeur identique) de la feuille 1 à la feuille 2.

Merci d'avance pour votre aide.

Cordialement,

Nicolas.
Avatar
nyko
On 28 août, 21:16, "Hervé" wrote:
Bonsoir Nyko,
A mettre dans le module de la feuille où sont effectués les modificat ions,
les commentaires sont dans le code pour mieux le comprendre :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Fe As Worksheet
'la feuille où doivent être copiées les valeur
's'appelle, ici, "Feuil2", à adapter
Set Fe = Worksheets("Feuil2")
'si la cellule subissant la modif est en colonne A
'et que seulement une seule cellule est concernée
If Not Intersect(Target, Columns("A")) Is Nothing _
And Target.Count = 1 Then
'compare les valeurs d'une feuille à l'autre et
'd'une cellule à l'autre, si elles sont identiques
'colle la valeur de la cellule en colonne B dans
'la cellule (en colonne B) correspondante
If Target.Value = Fe.Range(Target.Address) Then
Fe.Range(Target.Address).Offset(0, 1) = Target.Offset(0, 1)
Else
'si la cellule doit être vidée de sont contenu
'quand la valeur devient différente
'enlever l'apostrophe devant la ligne qui suis
'Fe.Range(Target.Address).Offset(0, 1) = ""
End If
End If
Set Fe = Nothing
End Sub

Hervé.

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

Bonjour,

Logiciel : Excel 2000 (vers 9.0.3821 SR1)
Windows XP SP2

Je désire faire une macro qui me permetterait de faire une synchro
entre deux feuilles, si une valeur se trouve identique dans la colonne
A dans les deux feuilles, alors copier la valeur de la colonne B (de
la même ligne de la valeur identique) de la feuille 1 à la feuille 2.

Merci d'avance pour votre aide.

Cordialement,

Nicolas.


Bonjour,

Tout d'abord je remercie Hervé pour cette réponse rapide.
Cependant il demeure encore quelques interrogations :
1) Je colle ce code où? (Worksheet en faisant Alt+F11)
2) Le code est à coller dans la feuille 2 c'est bien ça? (feuille où
va être inscrit les données)
3)Comment activer/executer le code une fois celui-ci correctement
complèter?

Merci d'avance pour toute vos réponses,

Cordialement,

Nicolas.

Avatar
Hervé
Bonsoir Nyko,
Tu doit le mettre dans le module de la feuille où tu entre les valeurs qui
doivent être comparées donc, pas la feuille "Feuil2" mais l'autre.

Hervé.

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

On 28 août, 21:16, "Hervé" wrote:
Bonsoir Nyko,
A mettre dans le module de la feuille où sont effectués les modifications,
les commentaires sont dans le code pour mieux le comprendre :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Fe As Worksheet
'la feuille où doivent être copiées les valeur
's'appelle, ici, "Feuil2", à adapter
Set Fe = Worksheets("Feuil2")
'si la cellule subissant la modif est en colonne A
'et que seulement une seule cellule est concernée
If Not Intersect(Target, Columns("A")) Is Nothing _
And Target.Count = 1 Then
'compare les valeurs d'une feuille à l'autre et
'd'une cellule à l'autre, si elles sont identiques
'colle la valeur de la cellule en colonne B dans
'la cellule (en colonne B) correspondante
If Target.Value = Fe.Range(Target.Address) Then
Fe.Range(Target.Address).Offset(0, 1) = Target.Offset(0, 1)
Else
'si la cellule doit être vidée de sont contenu
'quand la valeur devient différente
'enlever l'apostrophe devant la ligne qui suis
'Fe.Range(Target.Address).Offset(0, 1) = ""
End If
End If
Set Fe = Nothing
End Sub

Hervé.

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

Bonjour,

Logiciel : Excel 2000 (vers 9.0.3821 SR1)
Windows XP SP2

Je désire faire une macro qui me permetterait de faire une synchro
entre deux feuilles, si une valeur se trouve identique dans la colonne
A dans les deux feuilles, alors copier la valeur de la colonne B (de
la même ligne de la valeur identique) de la feuille 1 à la feuille 2.

Merci d'avance pour votre aide.

Cordialement,

Nicolas.


Bonjour,

Tout d'abord je remercie Hervé pour cette réponse rapide.
Cependant il demeure encore quelques interrogations :
1) Je colle ce code où? (Worksheet en faisant Alt+F11)
2) Le code est à coller dans la feuille 2 c'est bien ça? (feuille où
va être inscrit les données)
3)Comment activer/executer le code une fois celui-ci correctement
complèter?

Merci d'avance pour toute vos réponses,

Cordialement,

Nicolas.