mise à jour de valeurs de colonnes par coefficient multiplicateur

  • Initiateur de la discussion Initiateur de la discussion jf27
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jf27

XLDnaute Occasionnel
bjr le forum

je crée par VBA une feuille de données.
En tête de chaque colonne, je mets un scale factor et multiplie les valeurs de la colonne par ce scale factor en boucmant sur les cellules

Comment faire que lorsque ce scale factor est ensuite changé manuellement par l'utilisateur, pour que l'ensemble des valeurs de la colonne soient recalculées ?
En fait il me faudrait un FORMULA me disant cell(i,j) =cell(i,j)*cell(2,j)

me je ne sais pas coder ceci ?😱😱
merci par avance

Code:
Range("A2").Select
    Selection.EntireRow.Insert
    Selection.EntireRow.Insert
     
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "Scale Factor"
    Range("A3").Select
    ActiveCell.FormulaR1C1 = "Max value"
    
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "1"
    Selection.AutoFill Destination:=Range("B2", Range("B2").End(xlToRight)), Type:=xlFillDefault
    
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "=MAX(C)"
    Selection.AutoFill Destination:=Range("B3", Range("B3").End(xlToRight)), Type:=xlFillDefault
    
    For i = 2 To 1 + nbercategories + nbercriteria
        For k = 4 To fin
     If IsNumeric(Cells(k, i)) Then Cells(k, i) = CDbl(Cells(k, i)) * Cells(2, i)
     
    Next k
    Next i
    
    Calculate
 
Re : mise à jour de valeurs de colonnes par coefficient multiplicateur

Bonjour,

Pour répondre à ta question, tu peux utiliser l'evenement Worksheet_Change de la feuille de calcul

Mais je n'ai pas tres bien compris ce que tu fais.
Il faudrait que tu fournisse un petit echantillon de fichier.
Que sont les varibles nbercategories et nbercriteria ?

En attendant, ci-dessous ton code simplifié :

Sub Test()
Range("A2:A3").EntireRow.Insert
Range("A2") = "Scale Factor"
Range("A3") = "Max value"
Range("B2") = "1"

Range("B2").AutoFill Destination:=Range("B2", Range("B2").End(xlToRight)), Type:=xlFillDefault

Range("B3").FormulaR1C1 = "=MAX(C)"
Range("B3").AutoFill Destination:=Range("B3", Range("B3").End(xlToRight)), Type:=xlFillDefault

For i = 2 To 1 + nbercategories + nbercriteria
For k = 4 To fin
If IsNumeric(Cells(k, i)) Then Cells(k, i) = CDbl(Cells(k, i)) * Cells(2, i)
Next k
Next i
Calculate
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
926
L
Réponses
9
Affichages
1 K
Réponses
2
Affichages
1 K
J
  • Question Question
Microsoft 365 Formules
Réponses
2
Affichages
787
J
J
Réponses
22
Affichages
3 K
jui42
J
O
Réponses
4
Affichages
1 K
Olocsob
O
Réponses
13
Affichages
2 K
Réponses
1
Affichages
1 K
G
  • Question Question
Réponses
3
Affichages
2 K
N
Réponses
10
Affichages
5 K
Nicocotte125
N
C
Réponses
5
Affichages
946
C
O
  • Question Question
Réponses
7
Affichages
1 K
O
Retour