Changer la valeur d'une cellule

Le
Sophie
Bonjour à tous,
Je voudais que la valeur d'une cellule change, en changant la valeur d'une
autre cellule
Voici un exemple simplifié:
dans la case A1: j'ai inscrit "D".
dans la case A2: j'ai inscrit "=changevalue(A1)".
et voici la fonction:
Function changevalue(x)
If x = "D" Then
Cells(1, 3).Value = "Fonctionne"
End If
End Function
Je veux faire changer la valeur d'une cellule avec: celles(1,3).value="X".
Pourquoi ca ne fonctionne pas?

Merci!
Sophie
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Tatanka
Le #5103121
Bonsoir Sophie,

Peut-être ainsi :
Function changevalue(x)
If x = "D" Then changevalue = "Fonctionne" Else changevalue = ""
End Function
En C3 : =changevalue(A1)

Est-ce que ça te convient ?

Serge


"Sophie"
Bonjour à tous,
Je voudais que la valeur d'une cellule change, en changant la valeur d'une
autre cellule...
Voici un exemple simplifié:
dans la case A1: j'ai inscrit "D".
dans la case A2: j'ai inscrit "=changevalue(A1)".
et voici la fonction:
Function changevalue(x)
If x = "D" Then
Cells(1, 3).Value = "Fonctionne"
End If
End Function
Je veux faire changer la valeur d'une cellule avec: celles(1,3).value="X".
Pourquoi ca ne fonctionne pas?

Merci!
Sophie


isabelle
Le #5103111
bonjour sophie,

Function changevalue(cellule As Range)
If cellule = "D" Then
changevalue = "Fonctionne"
Else
changevalue = "Erreur"
End If
End Function

avec
=changevalue(A1)
si la cellule A1 = D le résultat est = "Fonctionne" si non c'est = à "Erreur"

isabelle

Bonjour à tous,
Je voudais que la valeur d'une cellule change, en changant la valeur d'une
autre cellule...
Voici un exemple simplifié:
dans la case A1: j'ai inscrit "D".
dans la case A2: j'ai inscrit "=changevalue(A1)".
et voici la fonction:
Function changevalue(x)
If x = "D" Then
Cells(1, 3).Value = "Fonctionne"
End If
End Function
Je veux faire changer la valeur d'une cellule avec: celles(1,3).value="X".
Pourquoi ca ne fonctionne pas?

Merci!
Sophie


Sophie
Le #5103091
Bonjour Isabelle et Tatanka,
Je ne peux pas écrire de formule dans la case où je veux que la valeur
change ( la case A3)! Car dans la case A3 je veux être libre de modifier son
contenu. Mais par défaut, lorsque je taperai "D", dans la case A1, le
contenu de A3 deviendra "fonctionne" par défaut. Je ne comprend pas pourquoi
l'instruction Celles(1, 3).Value = "Fonctionne", ne fonctionne pas...

Merci de votre aide!
Sophie
isabelle
Le #5103021
bonjour Sophie,

une fonction ne peut que retourner une valeur dans la cellule ou elle est inscrit,
elle ne peut pas modifier une autre cellule.

pour ce faire il y a les procédure événementielle de la feuille que tu peut utiliser.
par exemple :

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

ou bien:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

isabelle


Bonjour Isabelle et Tatanka,
Je ne peux pas écrire de formule dans la case où je veux que la valeur
change ( la case A3)! Car dans la case A3 je veux être libre de modifier son
contenu. Mais par défaut, lorsque je taperai "D", dans la case A1, le
contenu de A3 deviendra "fonctionne" par défaut. Je ne comprend pas pourquoi
l'instruction Celles(1, 3).Value = "Fonctionne", ne fonctionne pas...

Merci de votre aide!
Sophie


Tatanka
Le #5103001
Bonsoir Sophie,

Essaie ceci :
Fais un clic droit sur l'onglet de ta feuille,
clique sur « Visualiser le code » et colle
cette macro dans la feuille vierge qui devrait apparaître :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a1]) Is Nothing Then
If [a1] = "D" Then [a3] = "Fonctionne"
End If
End Sub

Si tu entres D en A1, « Fonctionne » apparaîtra en A3.
Si tu entres autre chose que D ou si tu effaces D, que
veux-tu voir en A3 ?

Serge


"Sophie"
Bonjour Isabelle et Tatanka,
Je ne peux pas écrire de formule dans la case où je veux que la valeur
change ( la case A3)! Car dans la case A3 je veux être libre de modifier son
contenu. Mais par défaut, lorsque je taperai "D", dans la case A1, le
contenu de A3 deviendra "fonctionne" par défaut. Je ne comprend pas pourquoi
l'instruction Celles(1, 3).Value = "Fonctionne", ne fonctionne pas...

Merci de votre aide!
Sophie


Sophie
Le #5102971
Merci Serge!
Ca fonctionne!! Je vais ajouter else [a3] = ""....
Merci, à toi et Isabelle...
Publicité
Poster une réponse
Anonyme