Multiplier la valeur d'une cellule (Résolu)

Pymt

XLDnaute Nouveau
Bonjour,
je voudrai savoir si il est possible d'attribuer une valeur à une cellule, par exemple (10) et de multiplier cette valeur par le chiffre ou nombre que je tape dans cette cellule.

Exemple: A1 vaut 10, mais n'affiche rien.
Dans A1, je tape 3, et toujours dans A1 s'affiche le résultat = 30 et ce sera ce 30 qui sera pris en compte dans la formule SOMME de la ligne A.

J'espère avoir été assez clair.
Merci pour votre aide.
Bonne journée.
Pymt
 
Dernière édition:

mécano41

XLDnaute Accro
Re : Multiplier la valeur d'une cellule

Bonjour,

En VBA. Tu mets ceci dans le code de la feuille (c'est valable pour la cellule A1 et une multiplication par 10)

Code:
Sub Worksheet_Change(ByVal Cible As Range)
If Not Application.Intersect(Cible, Range("A1")) Is Nothing Then
    Application.EnableEvents = False
    Range("A1") = Range("A1") * 10
    Application.EnableEvents = True
End If
End Sub

Cordialement
 

Pymt

XLDnaute Nouveau
Re : Multiplier la valeur d'une cellule

Bonjour mécano41 et merci beaucoup.
Cependant, j'ai un petit problème, je me suis mal expliqué.
Je voudrai que cela se fasse dans toute la colonne:

If Not Application.Intersect(Cible, Range("A1:A150")) Is Nothing Then
Et donc, j'ai un problème avec ça que je n'arrive pas à modifier de façon satisfaisante.
Range("A1") = Range("A1") * 10

Merci pour ton aide
 

mécano41

XLDnaute Accro
Re : Multiplier la valeur d'une cellule

Avec ceci, tu multiplies de A1 à A150 par 10, par exemple.

Deux points :

- si tu modifies une nouvelle fois A1, la zone existante (celle qui a été multipliée) est remultipliée par 10
- pour info. : si à l'essai de ton code modifié, tu as une erreur et que tu sors de la procédure, il faut lancer un sub contenant Application.EnableEvents = True sinon la modif de A1 ne déclenchera plus rien


Code:
Sub Worksheet_Change(ByVal Cible As Range)
Dim Cellule As Object
If Not Application.Intersect(Cible, Range("A1")) Is Nothing Then
    Application.EnableEvents = False
    For Each Cellule In Range("A1:A150")
        Cellule.Value = Cellule.Value * 10
    Next Cellule
    Application.EnableEvents = True
End If
End Sub

Cordialement
 

Pymt

XLDnaute Nouveau
Re : Multiplier la valeur d'une cellule

Merci, pour le code, et les explications.
Ca marche effectivement sur A1.
Mais j'ai bien un message d'erreur sur les autres cellules.
Que veux tu dire par lancer un Sub contenant Application.EnableEvents=True ?
Désolé, je suis un débutant, j'essaye de comprendre, mais je rame pas mal.
Merci
 

mécano41

XLDnaute Accro
Re : Multiplier la valeur d'une cellule

Voici un petit fichier pour le cas où je n'aurais pas compris ce que tu veux faire.

J'ai mis de 0 à 149 dans la colonne A. Si je tape 3 dans la cellule A1, toute la zone de 150 lignes de A est multipliée par 10. Il ne dois pas y avoir d'erreur (la valeur que tu viens d'entrer en A1 également)


- dans le code, j'ai mis au début : Application.EnableEvents = False ; sans cela, lorsque la cellule va être multipliée par 10, cela va redéclencher la procédure et ainsi de suite jusqu'à la limite de capacité d'EXCEL. Cette expression bloque la détection d'événements tel que Worksheet_Change(...).
- une fois l'opération de modification des cellules faites, j'ai mis Application.EnableEvents = True afin de remettre en service la détection.
- si, au cours de la mise au point de ton code, celui-ci s'arrête à cause d'une erreur par exemple dans la modification d'une cellule, tu auras exécuté Application.EnableEvents = False puis tu seras sorti. A la modif suivante de la cellule A1, ta procédure Worksheet_Change(...) ne fonctionnera plus et tu te gratteras la tête!
- dans ce cas, tu lances le petit sub Essai que j'ai ajouté (en plaçant le curseur dedans et en tapant sur F5) et tout redevient normal...

Cordialement
 

Pièces jointes

  • essai1.xlsm
    16.6 KB · Affichages: 53
  • essai1.xlsm
    16.6 KB · Affichages: 54
  • essai1.xlsm
    16.6 KB · Affichages: 56

Pymt

XLDnaute Nouveau
Re : Multiplier la valeur d'une cellule

Bonjour mécano41.
Merci pour l'aide que tu m'apporte
J'ai regardé le classeur que tu m'as envoyé, et je me rends compte que je me suis mal expliqué.
Je fais actuellement une feuille de trésorerie pour un camping associatif et le mieux c'est que je t'envoie un exemple de ce que je veux.
Je ne t'envoie pas la vrais feuille car elle contient des données privées.
Merci encore pour ton aide.
Bonne journée.
Pymt
 

Pièces jointes

  • Multiplication des valeurs de cellule par le nbr qu'on y inscrit.xlsm
    14.5 KB · Affichages: 50

mécano41

XLDnaute Accro
Re : Multiplier la valeur d'une cellule

Bonjour,

Tu ne m'as pas dit si le nombre introduit en Ai est valable pour les 4 cellules de la ligne alors j'ai traité deux cas. Voici ton fichier avec ces deux cas possibles (je suppose que c'est le premier -celui qui est actif- qui t'intéresse) :

Cas 1- en Ai tu entres :5. Après Entrée, tu peux lire en Ai : 50, en Bi : 35, en Ci : 17,5 et en Di : 1,25

Cas 2- en Ai tu entres :5. Après Entrée, tu peux lire en Ai : 50
en Bi tu entres :4. Après Entrée, tu peux lire en Ai : 28
en Ci tu entres :4. Après Entrée, tu peux lire en Ai : 14
en Di tu entres :6. Après Entrée, tu peux lire en Ai : 1,5

(pour passer d'un cas à l'autre il faut enlever les apostrophes de l'un et les mettre dans l'autre)

Nota : les constantes de prix unitaires pourraient être introduites dans une ligne cachée au dessus des titres de façon à pouvoir les modifier sans aller dans le code...Il suffit de mettre dans le code : PuNuit=Range("xx").value xx étant la cellule cachée ...et pareil pour les autres.

Cordialement
 

Pièces jointes

  • Copie1 de Multiplication des valeurs.xlsm
    21.7 KB · Affichages: 70

Pymt

XLDnaute Nouveau
Re : Multiplier la valeur d'une cellule

Je suis désolé de te casser les pieds.
C'est presque ça, sauf que dans chaque cellule de chaque colonne, je dois pouvoir entrer la quantité que je veux.
Je pense que c'est mon exemple 1 qui a faussé les choses.
Par exemple, sur la ligne 2, je dois pouvoir taper en A2= 10 en B2=10 en C2= rien en D2=10
ou en A3=4, en B3=3, en C3=1 à la rigueur que la quantité tapé en A soit la même pour D ça, ça peu aller.
Merci et vraiment désolé de ne pas être simple.
 

mécano41

XLDnaute Accro
Re : Multiplier la valeur d'une cellule

Eh bien, il me semble que c'est le second cas que j'ai traité...

Le voici actif dans le fichier joint (j'ai juste inversé les apostrophes comme indiqué précédemment).

Cordialement
 

Pièces jointes

  • Copie2 de Multiplication des valeurs.xlsm
    22 KB · Affichages: 60

Pymt

XLDnaute Nouveau
Re : Multiplier la valeur d'une cellule

Super, c'est tout à fait ça.
Excuse moi de m'être mal expliqué. Juste un petit souci, ça ne semble pas fonctionner en colonne C.
Si je tape 1, ça affiche 1 au lieu de 3.50.
J'ai bien essayé de voir si je trouvais une erreur dans le code, mais je ne suis pas assez doué pour ça.
Merci encore
 

Pymt

XLDnaute Nouveau
Re : Multiplier la valeur d'une cellule (Résolu)

Bonjour mécano41
Désolé je viens de modifier ce message, j'ai fait une erreur de recopie de script (9H01)

Une dernière question.
Ci dessous, le code que j'ai fait sur ma feuille. (Au niveau des connaissances, là je plafonne à peu près !!!!)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Column = 3 Or .Column = 18 Then .Value = Date
End With
Cancel = True
End Sub


Où est ce que je dois insérer le tien ?
J'ai fait plusieurs essais, et j'ai eu plusieurs messages d'erreur.
Merci pour ton aide
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
207

Statistiques des forums

Discussions
312 451
Messages
2 088 523
Membres
103 877
dernier inscrit
imen.chaaba