Multiplier une cellule automatiquement

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Y
Yann_75
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 4 décembre 2014
Version d'Excel : 2013

Message par Yann_75 » 5 décembre 2014, 09:09

Bonjour,
pas de soucis, je te montre mon fichier, je savais pas que c'était possible.
Tu as répondu parfaitement à mes attentes.

Prenons l'exemple de la ligne 13:
il faut que les cellules C13 à Y13 se multiplient par la cellule B13 (ici 1.5) quand on rentre un nombre dans ces cellules.

Ainsi de suite dans sur toutes les lignes de la feuille.

Voici un bout de ta macro que j'ai modifié pour l'adapter à ma feuille. Ça fonctionne très bien.

Mais n'y a-t-il pas un moyen de simplifier le code, par exemple mettre "de C13 à Y13" au lieu d'indiquer chaque cellule?
Là ça va bien parce qu'il n'y en a pas beaucoup, mais si j'ai 1000 cellules...
Pareil pour les lignes.
 Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub

        If Not Application.Intersect(Target, Range("C13, E13, G13, I13, K13, M13, O13, Q13, S13, U13, W13, Y13")) Is Nothing Then
            Application.EnableEvents = False
            Target = Target * Range("B13")
            Application.EnableEvents = True
        End If
        
        If Not Application.Intersect(Target, Range("C14, E14, G14, I14, K14, M14, O14, Q14, S14, U14, W14, Y14")) Is Nothing Then
            Application.EnableEvents = False
            Target = Target * Range("B14")
            Application.EnableEvents = True
        End If
        
        If Not Application.Intersect(Target, Range("C15, E15, G15, I15, K15, M15, O15, Q15, S15, U15, W15, Y15")) Is Nothing Then
            Application.EnableEvents = False
            Target = Target * Range("B15")
            Application.EnableEvents = True
        End If
        
        If Not Application.Intersect(Target, Range("C16, E16, G16, I16, K16, M16, O16, Q16, S16, U16, W16, Y16")) Is Nothing Then
            Application.EnableEvents = False
            Target = Target * Range("B16")
            Application.EnableEvents = True
        End If
Merci encore pour ton aide.
Amicalement.
Copie de ODILE 011214 CHARGES MENSUELLES 2015.xlsx
(16.14 Kio) Téléchargé 7 fois
Avatar du membre
Yvouille
Passionné d'Excel
Passionné d'Excel
Messages : 8'790
Appréciations reçues : 58
Inscrit le : 6 avril 2007
Version d'Excel : 2016

Message par Yvouille » 5 décembre 2014, 16:21

Salut,

Dans le fichier ci-joint j’ai placé une macro qui permet de traiter toutes les lignes en une seule fois (enfin, celles qui ont un chiffre dans la colonne B).

Tu as des formats de texte dans ta colonne B et ma macro n’arrive alors pas à multiplier le chiffre inscrit dans les colonnes C à Z par celui inscrit dans la colonne B (à part le chiffre de la cellule B15 ??). J’ai modifié deux cellules – marquées en moutarde – pour te montrer ce qu’il faut modifier.

Cordialement.
test listing ref_V1.xlsm
(21.72 Kio) Téléchargé 18 fois
Yvouille

Valais de Coeur
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message