Remplacement contenu cellule à la saisie par une opération

bonsoir à tous
Je souhaite pour mon boulot faire un fichier qui calcul automatiquement en ajoutant une constante issue d'une autre cellule.
Pour des raisons de confidentialité je ne peux pas soumettre de fichier
J'utilise des appareils qui me renvoient la valeur automatiquement, ces valeurs sont inscrites dans les cellules A2 à A50.
Ma cellule de réference est A1 (saisie par l'opérateur)

Exemple A1 = 11
Si la machine me renvoie en A2 la valeur 9. Je souhaiterai lors de la validation que le résultat soit remplacé par 20 (11+9)

Etc lors de la saisie A3...A3... etc

Par contre
Si je nettoie la feuille par la suppression du contenu de la cellule je veux que la cellule soit vide. Et si le caractère est numérique on exécute l'opération.
J'ai trouvé la procédure évènementielle sur le changement

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Me.Range("A2:A50")) Is Nothing Then Exit Sub

'Ma_macro avec fonction If je pense

End Sub

Au boulot je suis en 365 et chez moi en 2003

merci a tous pour votre aide

Bonjour,

ça veut dire quoi ça ?

Si je nettoie la feuille par la suppression du contenu de la cellule je veux que la cellule soit vide. Et si le caractère est numérique on exécute l'opération.

Pas sûr d'avoir compris, tu diras.
eric

9classeur1.xlsm (14.46 Ko)

Bonjour

Merci Eriic pour ta réponse

Je procède à un nettoyage de la feuille en effaçant le contenu des cellules. Je ne veux pas que au moment de l'effacement l'opération soit effectuée

Est il possible de me coller le code ou convertir le fichier. Je suis à mon domicile avec excel2003

Merci encore

Bonjour,

Sur Rakuten, tu trouves des licences office 2016 et 2019 à moins de 2 euros pièce.

Bonjour à tous,

en xls

Tu peux aussi installer le pack de compatibilité pour ouvrir des xlsx ou xlsm sur 2003.
Disparu chez MS mais tu le trouves sur d'autres sites : https://filehippo.com/download_office_compatibility_pack/
eric

11classeur1.xls (34.50 Ko)

bonjour

Merci du retour....je regarde tout ça

Bonne journée !!!

Bonjour

J'ai regardé le fichier d'Eric

je pense m'être mal exprimé

Je souhaite à l'aide d'une constante en A1 (saisie manuellement par un opérateur)

Effectué l'opération lors de la saisie automatique de A2 à A50

A2 (nouveau résultat) = A2 (saisie automatique) + A1

A3= A3 + A1

A4 = A4 + A1

A5 = A5 + A1

etc

Pour le futur je veux transposer ceci à la colonne B puis C etc....

Merci

Dans ce cas tu as juste à changer la cellule de destination :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim pl As Range, c As Range
    Set pl = Intersect(Target, Range("A1:A50"))
    If Not pl Is Nothing Then
        Application.EnableEvents = False
        For Each c In pl
            Select Case Target.Row
                Case 1

                Case Else
                    If IsNumeric(Range("A1")) And Range("A1") <> "" Then c.Value = Range("A1").Value + c.Value
            End Select
        Next c
        Application.EnableEvents = True
    End If
End Sub

Pour le futur je veux transposer ceci à la colonne B puis C etc....
Pourquoi lâcher les infos au compte goutte ?
Mais comme tu dis le prendre en charge, pas de soucis. D'autant plus que ce n'est pas clair du tout...
eric

C'est parfait et c'est exactement ce que je désire faire.

Par contre si j'efface un des résultats en A2 à A50...il me recopie la valeur de A1.

Est il possible à la place d'avoir la cellule vide lorsque j'efface son contenu ?

juste un test à ajouter :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim pl As Range, c As Range
    Set pl = Intersect(Target, Range("A1:A50"))
    If Not pl Is Nothing Then
        Application.EnableEvents = False
        For Each c In pl
            Select Case Target.Row
                Case 1

                Case Else
                    If IsNumeric(Range("A1")) And Range("A1") <> "" And c.Value <> "" Then c.Value = Range("A1").Value + c.Value
            End Select
        Next c
        Application.EnableEvents = True
    End If
End Sub

Merci encore et désolé si je n'étais pas très clair

C'est impeccable

Rechercher des sujets similaires à "remplacement contenu saisie operation"