Ajouter automatiquement la valeur 10 à une cellule

Bonjour à tous,

Ma question parrait simple mais un vrai casse tête pour moi...

Je saisie des valeurs mesurées dans un tableau, et j'aimerais que quand je rentre, par exemple, la valeur 8 dans la cellule A1, automatiquement la valeur 10 est ajouter...

Saisie dans A1 = 8

Après "Entrée" la valeur affichée serait 18.

Je sais que ca peut parraitre bizzare mais c'est simplement pour éviter d'oublier d'ajouter ces 10...

Merci par avance

A bientôt le forum


Re,

Je précise que je ne peux pas utilisé une cellule à côté... Forme du document impossible à modifier sinon ce serait trop simple

Bonjour le forum,

Private Sub Worksheet_Change(ByVal cible As Range)

If Not Intersect(cible, [A1]) Is Nothing And Not IsEmpty([A1].Value) And IsNumeric([A1].Value) Then

With Application: .EnableEvents = False: [A1].Value = 10 + [A1].Value: .EnableEvents = True: End With

End If

End Sub

mbbp

Re,

Si la somme à ajouter est variable :

A1 : incrément

B1 : saisie de la donnée

Private Sub Worksheet_Change(ByVal cible As Range)

If Not Intersect(cible, [A2]) Is Nothing And Not IsEmpty([A2].Value) And IsNumeric([A2].Value) Then

With Application: .EnableEvents = False: [A2].Value = [A1] + [A2].Value: .EnableEvents = True: End With

End If

End Sub

mbbp

Bonjour et merci pour ta réponse mbbp!

Le code fonctionne très bien! Mais je m'apperçois qu'une erreur est possible après saisie.

Si je reclique dans la cellule que je viens de saisire et que je resort de cette dernière l'incrémentation se reproduit...

La question est: Est t'il possible d'incrémenter de 10 une seule fois?

Par avance merci.

grenoble87 a écrit :

j'aimerais que quand je rentre, par exemple, la valeur 8 dans la cellule A1, automatiquement la valeur 10 est ajouter...

grenoble87 a écrit :

Si je reclique dans la cellule que je viens de saisire et que je resort de cette dernière l'incrémentation se reproduit...

La question est: Est t'il possible d'incrémenter de 10 une seule fois?

????

A1 : tu saisis 8 : résultat : 18.

Au lieu de saisir 8, tu devais saisir 12 :

A1 : tu saisis 12 : résultat : 22.

mbbp

Après relecture c'est vrai que ce n'est pas très clair

- je tappe 8 en A1, automatiquement la valeur est de 18 => OK

Si je reclique dans A1 et que je deselectionne A1, la valeur est de nouveau incrémentée de 10 => Pas OK

En gros j'aimerais qu'une fois que j'obtiens 18 la macro soit figée. et qu'elle ne m'ajoute plus 10 si je selectionne la cellule.

J'éspère avoir été plus clair.

rE?

grenoble87 a écrit :

En gros j'aimerais qu'une fois que j'obtiens 18 la macro soit figée. et qu'elle ne m'ajoute plus 10 si je selectionne la cellule.

Quand on "clique" sur A1 puis sur une autre touche : A1 n'est pas incrémenté.

Il faut "double cliquer" sur A1 pour de nouveau incrémenter de 10.

mbbp

Oui c'est le fonctionnement actuel, mais je ne serais pas le seul utilisateur du fichier et je voulais éviter les erreurs d'ou ma question.

il n'est donc pas possible de bloquer l'incrémentation après une première saisie dans A1? Ma crainte est que la personne reclique dans A1 => donc ré incrémentation par erreur de la valeur (Avec une erreur après la première saisie on aurait Au lieu de 8+10, 8+10+10...

Et vu les personnes qui vont se servir du fichier... Une erreur est réellement possible

En tout cas merci pour ton aide.

Re,

Private Sub Worksheet_Change(ByVal cible As Range)

If Not Intersect(cible, [A1]) Is Nothing And Not IsEmpty([A1].Value) And IsNumeric([A1].Value) Then

With Application: .EnableEvents = False: [A1].Value = 10 + [A1].Value: .EnableEvents = False: End With

End If

End Sub

mbbp

Bonjour,

Ne fait +10 que si la cellule était vide avant la saisie :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sav As Variant
    Static noEvents As Boolean
    If noEvents Then Exit Sub
    If IsNumeric(Target) And Not IsEmpty(Target) Then
        sav = Target
        noEvents = True
        Application.Undo
        If IsEmpty(Target) Then
            sav = sav + 10
        End If
        Target = sav
        noEvents = False
    End If
End Sub

eric

Merci, cela fonctionne parfaitement!

Rechercher des sujets similaires à "ajouter automatiquement valeur"