OVH Cloud OVH Cloud

référence circulaire !

4 réponses
Avatar
JPB
Bonjour,

Je désire faire la fonction suivante
J'ai 2 cellules A et B et j'aimerais mettre la fonction suivante en B: "
SI ( A<B ; A ; B)"
Je veux que si la cellule A diminue de valeur la cellule B suive les
diminutions mais pas les augmentations.
Évidemment il y a référence circulaire.
Comment faire cela simplement (j'ai pas de connaissance de programmation).

Merci pour votre aide

Jean-Pierre

4 réponses

Avatar
garnote
Salut Jean-Pierre,

Essaie ceci et dis-moi si ça te convient.
J'ai nommé la cellule A "un" et la cellule B "deux".
Fais un clic droit sur l'onglet de la feuille contenant
les cellules "un" et "deux", clique sur Visualiser le code
et colle cette macro sur la feuille qui va apparaître.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("un") Or Target = Range("deux") Then
If [un] < [deux] Then [deux] = [un]
End If
End Sub

Serge








"JPB" a écrit dans le message de news:
Bonjour,

Je désire faire la fonction suivante
J'ai 2 cellules A et B et j'aimerais mettre la fonction suivante en B: " SI ( A<B ; A ; B)"
Je veux que si la cellule A diminue de valeur la cellule B suive les diminutions mais pas les augmentations.
Évidemment il y a référence circulaire.
Comment faire cela simplement (j'ai pas de connaissance de programmation).

Merci pour votre aide

Jean-Pierre



Avatar
JPB
Cela me convient parfaitement. Merci bien.
Encore deux questions :
1. peux tu me traduire cette macro/fonction? en "français" ( If [un] <
[deux] Then [deux] = [un] 4a c'est OK mais le reste ?)
2. et si maintenant j'ai une série de "un" et de "deux" (une vingtaine par
exemple de A1 à A20 et B1 à B20) comment adapté le code ?

Merci bien pour ton aide
Jean-Pierre

-----------------------------------------------------------------------------
"garnote" a écrit dans le message de news:

Salut Jean-Pierre,

Essaie ceci et dis-moi si ça te convient.
J'ai nommé la cellule A "un" et la cellule B "deux".
Fais un clic droit sur l'onglet de la feuille contenant
les cellules "un" et "deux", clique sur Visualiser le code
et colle cette macro sur la feuille qui va apparaître.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("un") Or Target = Range("deux") Then
If [un] < [deux] Then [deux] = [un]
End If
End Sub

Serge








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

Bonjour,

Je désire faire la fonction suivante
J'ai 2 cellules A et B et j'aimerais mettre la fonction suivante en B:
" SI ( A<B ; A ; B)"
Je veux que si la cellule A diminue de valeur la cellule B suive les
diminutions mais pas les augmentations.
Évidemment il y a référence circulaire.
Comment faire cela simplement (j'ai pas de connaissance de
programmation).

Merci pour votre aide

Jean-Pierre








Avatar
garnote
Salut Jean-Pierre,

Ce code devrait convenir :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B20")) Is Nothing Then
L = Target.Row
Range("B1:B20")(L) = WorksheetFunction.Min(Range("A1:A20")(L), Range("B1:B20")(L))
End If
End Sub
Est-ce le cas ?

Serge




"JPB" a écrit dans le message de news: epyV$
Cela me convient parfaitement. Merci bien.
Encore deux questions :
1. peux tu me traduire cette macro/fonction? en "français" ( If [un] < [deux] Then [deux] = [un] 4a c'est OK mais le reste ?)
2. et si maintenant j'ai une série de "un" et de "deux" (une vingtaine par exemple de A1 à A20 et B1 à B20) comment adapté le code
?

Merci bien pour ton aide
Jean-Pierre

-----------------------------------------------------------------------------
"garnote" a écrit dans le message de news:
Salut Jean-Pierre,

Essaie ceci et dis-moi si ça te convient.
J'ai nommé la cellule A "un" et la cellule B "deux".
Fais un clic droit sur l'onglet de la feuille contenant
les cellules "un" et "deux", clique sur Visualiser le code
et colle cette macro sur la feuille qui va apparaître.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("un") Or Target = Range("deux") Then
If [un] < [deux] Then [deux] = [un]
End If
End Sub

Serge








"JPB" a écrit dans le message de news:
Bonjour,

Je désire faire la fonction suivante
J'ai 2 cellules A et B et j'aimerais mettre la fonction suivante en B: " SI ( A<B ; A ; B)"
Je veux que si la cellule A diminue de valeur la cellule B suive les diminutions mais pas les augmentations.
Évidemment il y a référence circulaire.
Comment faire cela simplement (j'ai pas de connaissance de programmation).

Merci pour votre aide

Jean-Pierre












Avatar
JPB
Salut Serge,
Caramba c'est exactement cela qu'il me faut ! Je vais pouvoir continuer mon
projet.
Par contre cette fois ci j'ai encore moins compris à la routine.
Merci bien pour cette aide et bonne soirée.

Jean-Pierre


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

Salut Jean-Pierre,

Ce code devrait convenir :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B20")) Is Nothing Then
L = Target.Row
Range("B1:B20")(L) = WorksheetFunction.Min(Range("A1:A20")(L),
Range("B1:B20")(L))
End If
End Sub
Est-ce le cas ?

Serge




"JPB" a écrit dans le message de news:
epyV$
Cela me convient parfaitement. Merci bien.
Encore deux questions :
1. peux tu me traduire cette macro/fonction? en "français" ( If [un] <
[deux] Then [deux] = [un] 4a c'est OK mais le reste ?)
2. et si maintenant j'ai une série de "un" et de "deux" (une vingtaine
par exemple de A1 à A20 et B1 à B20) comment adapté le code ?

Merci bien pour ton aide
Jean-Pierre

-----------------------------------------------------------------------------
"garnote" a écrit dans le message de
news:
Salut Jean-Pierre,

Essaie ceci et dis-moi si ça te convient.
J'ai nommé la cellule A "un" et la cellule B "deux".
Fais un clic droit sur l'onglet de la feuille contenant
les cellules "un" et "deux", clique sur Visualiser le code
et colle cette macro sur la feuille qui va apparaître.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("un") Or Target = Range("deux") Then
If [un] < [deux] Then [deux] = [un]
End If
End Sub

Serge








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

Bonjour,

Je désire faire la fonction suivante
J'ai 2 cellules A et B et j'aimerais mettre la fonction suivante en B:
" SI ( A<B ; A ; B)"
Je veux que si la cellule A diminue de valeur la cellule B suive les
diminutions mais pas les augmentations.
Évidemment il y a référence circulaire.
Comment faire cela simplement (j'ai pas de connaissance de
programmation).

Merci pour votre aide

Jean-Pierre