Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Ajout d'une condition dans une macro...

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais ajouter une condition dans une macro ;

la partie, de la macro concernée, est celle-ci :
If .Cells(LigneDestination, 5 + i) <> "" Then
.Cells(LigneDestination, 26 + i) = CDbl(Me.Controls("Textbox" & i))
Somme = Somme + (CDbl(Me.Controls("Textbox" & i)) * .Cells(LigneDestination, 5 + i))
End If
Next
End If
.Range("AV" & LigneDestination) = Somme
End With
la condition souhaitée, en plus, est ;

si dans la "ComboRèglement" on trouve le mot "Facturée"; alors pas de somme; sinon somme

Merci pour votre aide, bien amicalement,
Christian
 

Christian0258

XLDnaute Accro
Re, le forum, jmfmarques

Merci, jmfmarques, pour ton aide.
Oui c'est tout à fait ça, en fait dans cette ComboRèglement on choisit; Carte bancaire, Chèque ect et il y a aussi comme choix Facturée en janvier (idem pour les 11 autres mois) et donc si le choix dans cette Combo est par exemple "Facturée en juillet" ...la somme ne doit pas être inscrite en col AV.
Encore merci,
Bien à toi,
Christian
 

jmfmarques

XLDnaute Accro
1)
si le choix dans cette Combo est par exemple "Facturée en juillet"
est très différent de (ce n'est pas la même chose) :
si dans la "ComboRèglement" on trouve le mot "Facturée"

2) La valeur de la zone d'édition d'une combobox n'est pas forcément celle de l'article sélectionné
la valeur de l'article sélectionné dans une combo combo1 est, elle :
VB:
toto = combo1.list(combo1.listindex)
il ne reste plus qu'à insérer cette seconde condition selon cette logique exemple :
Code:
if expression1 then
  if expression2 then
    '''' tes instructions
  end if
end if
C'est vraiment là du B.A.BA de VBA
 

Christian0258

XLDnaute Accro
Re, le forum, jmfmarques

Merci pour tes explications et ton bout de code...mais je ne sais pas comment, ni où l'insérer dans le code poste 1. Quand tu écris "expression1, 2, (idem pour les douze expressions) ...?

A te lire,
Bien amicalement
Christian
P.S suis nul en vba...lol
 

jmfmarques

XLDnaute Accro
VB:
.Cells(LigneDestination, 5 + i) <> ""
est une de tes deux expressions
Code:
combo1.list(combo1.listindex) like "Facturée*"
est la seconde de tes deux expressions
et je ne vois pas d'autres expressions intervenant que ces deux-là.
 

Christian0258

XLDnaute Accro
Re, le forum, jmfmarques,
ok j'ai fait ça ;
If .Cells(LigneDestination, 5 + i) <> "" Then
If .ComboRèglement.List(ComboRèglement.ListIndex) Like "Facturée*" Then
.Cells(LigneDestination, 26 + i) = CDbl(Me.Controls("Textbox" & i))
Somme = Somme + (CDbl(Me.Controls("Textbox" & i)) * .Cells(LigneDestination, 5 + i))
End If
End If
Next
End If

Mais ça plante sur la deuxième ligne If .ComboRèglement.List(ComboRèglement.ListIndex) Like "Facturée*" Then
à te lire,
merci
Christian
 

Christian0258

XLDnaute Accro
Re, le forum, jmfmarques, JM27

Salut Jean-Marcel, ci-joint le fichier que tu connais bien puisque toutes les macros sont de toi.Lol

Merci pour ton aide,
Bien à toi.
Christian
 

Pièces jointes

  • Somme sauf sil.xlsm
    445.8 KB · Affichages: 9

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…