Multiplications en fonction contenu cellule

Bonsoir le forum

En pièce jointe j'ai placé un fichier dans lequel j'essaie de faire en fonction du contenu des cellule en colonne "B" des multiplications

J'ai ne comprends pas pourquoi cela ne fonctionne pas

si quelqu'un pouvait jeter un oeil

D'avance je vous remercie pour votre aide et votre disponibilité

18multiplication.xlsm (28.32 Ko)

Bonsoir,

Difficile de faire plus comme méli-mélo !

  • c Variant utilisé comme Range ! à déclarer en Range
  • k Variant, devrait avoir une type Integer ou Long car utilisé comme index de ligne ou index de tableau
mais pas initilisé donc =0, donc si ligne c'est mal parti, si tableau il faudrait que le tableau existe !

- Cel déclaré en Range, soit fait double emploi avec c, soit ? car de toute façon si Range n'est pas initialisé mais est utilisé comme si c'était un tableau (non défini par ailleurs), c'est de la bouillie !

En outre :

  • pourquoi mettre 0,4 en K1 (qui est vide actuellement) qui n'intervient nulle part ensuite !
  • pourquoi mettre q en M1 (vide aussi), M1 n'intervient pas, q si ! mais non initialisé et non déclaré = 0 donc... !
  • des indices entre guillemets !!! Tu devrais depuis le temps être en mesure de ne jamais faire ce type d'erreur grossière !
  • et c ne sera pas "Structurante" ET "Complexe" à la fois ! Ou l'un, ou l'autre, ou aucun des deux ! La logique... !

Et par ailleurs, rendre ton code lisible en l'indentant et en évitant de sauter des lignes, ne serait pas du luxe.

Il est impossible de déduire, k est inconnu, q aussi, alors... !

bonjour

salut MFerarnd

pourquoi du VBA ?

une formule avec des SI et des * ne suffirait pas ?

peut-on connaître la formule exprimée par une phrases, on va la mettre en musique

Salut jmd !

Ça pourra se discuter... mais il faudrait savoir avant quelle opération... Je me suis borné à l'empilement de problèmes et erreurs divers (lesquels ne permettent pas de déduire à coup sûr ce qu'on vaoulait faire) et qui font que la majorité des lignes de la macro ne pouvaient fonctionner...

Bonne soirée.

Bonsoir le forum

Bonsoir MFerrand et jmd

Merci pour votre aide et votre disponibilité

Je cherche à utiliser une macro qui me permet de lancer instantanément un calcul sur une feuille que l'on m'envoi par mail

voilà pourquoi une macro et pas de formule (cette macro sera ranger dans le classeur personnel de macro et je créerai un bouton personnaliser dans le ruban)

Si en colonne "B" je trouve les mots "STRUCTURANTE" ou "COMPLEXE" alors je voudrais multiplier la valeur de la même ligne mais contenue dans la colonne "J" par 0.4 et avoir le résultat en colonne "K"

Si en colonne "B" je trouve les mots "SIMPLE" alors je voudrais multiplier la valeur de la même ligne mais contenue dans la colonne "J" par 0.4 et ajouter la valeur 150 en plus et avoir le résultat en colonne "K"

Puis pour terminer faire la somme de la colonne "K" en "K1"

eole-33 a écrit :

Bonsoir le forum

Bonsoir MFerrand et jmd

Merci pour votre aide et votre disponibilité

Je cherche à utiliser une macro qui me permet de lancer instantanément un calcul sur une feuille que l'on m'envoi par mail

voilà pourquoi une macro et pas de formule

re

je ne comprends pas : tout le monde fait des formules qui vont chercher des données dans d'autres fichiers (fichiers créés sur place ou bien fichiers venant d'ailleurs) et ceci même si les-dits fichiers changent de place ou de nom

Bonsoir,

Sub VALEUR()
    Dim tblK, i%, n%
    With Worksheets("Suivi Cde Passées OPGC")
        n = .Range("B" & .Rows.Count).End(xlUp).Row
        tblK = .Range("J1:J" & n).Value
        tblK(1, 1) = Empty
        For i = 2 To n
            Select Case .Range("B" & i)
                Case "STRUCTURANTE", "COMPLEXE": tblK(i, 1) = tblK(i, 1) * 0.4
                Case "SIMPLE": tblK(i, 1) = tblK(i, 1) * 0.4 + 150
                Case Else: tblK(i, 1) = Empty
            End Select
        Next i
        tblK(1, 1) = WorksheetFunction.Sum(tblK)
        With .Range("K1:K" & n)
            .Value = tblK
            .NumberFormat = "0.00"
        End With
    End With
End Sub

Cordialement.

Bonsoir le forum

Bonsoir MFerrand et jmb

Merci pour votre aide et merci pour le code MFerrand

J'ai pensé à faire un "select case" mais honnêtement je ne savais pas comment m'y prendre

Pour jmb, des commandes comme celle-ci où je dois modifier et calculer des données j'en fais tout le temps, je reçois un tableau que je n'ai pas créé, donc je ne le connais pas et je me méfie des formules alors j'essaie de me créer un code qui me permet de modifier les tableaux que je reçois afin d'avoir un résultat et puis basta

Cette commande est unique, et je sais pourquoi elle a été créée, c'est un outil

en tout cas merci beaucoup pour votre aide et votre disponibilité

vous êtes super

Merci

Rechercher des sujets similaires à "multiplications fonction contenu"