flyingmuad
XLDnaute Nouveau
Bonjour à tous,
Encore un problème avec ma macro de devis
Mon devis peut comporter plusieurs chapitre avec chacun plusieurs ligne d'article
Chaque article appartenant à une famille un est affecté d'un coef de vente
colonne_prix de vente = colonne prix_untaire * colonne_quantité * coef_de_vente
colonne prix_untaire et colonne_quantité sont saisies
Coef_de_vente =coef_famille * coef_commercial
Mon coef_famille est issu d'une liste
Par faciliter de lecture j'affecte une couleur à chaque valeur de coef famille :
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=" & ji
Selection est ma plage dans le chapitre de ma colonne coef_famille
ji est issu d'une boucle :
For ii = 1 To 7
For jj = 1 To 8
ij = ij + 1: ji = ji + 0.01
ET me permet de colorer ma cellule différemment suivant sa valeur
Selection.FormatConditions(ij).Interior.ColorIndex = 8 * (ii - 1) + jj
Cela me donne 56 conditions différentes par cellule
Tous cela fonctionne parfaitement
Mon souci survient quand coef_commercial est différent de 1
La valeur de la cellule devient hors limite de ma MFC de base et je n'ai plus de mise en forme relative au coef_famille
J'ai donc dans la macro recopier la valeur de coef_famille dans une colonne, et je souhaite effectuer la MFC depuis cette colonne et non plus la colonne coef_de_vente
J'ai modifié ma ligne comme suit :
xa = "=$ah" & ActiveCell.Row & "=" & ji par exemple xa = "=$AH12=1.25"
Selection.FormatConditions.Add Type:=xlExpression, Formula1:=xa
Mais comme expliqué plus haut je traite plusieurs ligne à la fois ( d'ou le "selection.") et ma formule ne reflète pas le numero de ligne et reste constante avec le numero de la première ligne de la sélection
Je pense essayer de modifier ma macro par un appel à cette routine ç chaque ligne plutôt que par chapitre. Mais cela me fait faire de grosses modif
J'avoue ne pas maitriser la MFC sous VBA d'où mon appel à vos connaissances avant de me lancer la dedans car il y a peut être un moyen plus simple.
Merci de votre aide
Patrice
Encore un problème avec ma macro de devis
Mon devis peut comporter plusieurs chapitre avec chacun plusieurs ligne d'article
Chaque article appartenant à une famille un est affecté d'un coef de vente
colonne_prix de vente = colonne prix_untaire * colonne_quantité * coef_de_vente
colonne prix_untaire et colonne_quantité sont saisies
Coef_de_vente =coef_famille * coef_commercial
Mon coef_famille est issu d'une liste
Par faciliter de lecture j'affecte une couleur à chaque valeur de coef famille :
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=" & ji
Selection est ma plage dans le chapitre de ma colonne coef_famille
ji est issu d'une boucle :
For ii = 1 To 7
For jj = 1 To 8
ij = ij + 1: ji = ji + 0.01
ET me permet de colorer ma cellule différemment suivant sa valeur
Selection.FormatConditions(ij).Interior.ColorIndex = 8 * (ii - 1) + jj
Cela me donne 56 conditions différentes par cellule
Tous cela fonctionne parfaitement
Mon souci survient quand coef_commercial est différent de 1
La valeur de la cellule devient hors limite de ma MFC de base et je n'ai plus de mise en forme relative au coef_famille
J'ai donc dans la macro recopier la valeur de coef_famille dans une colonne, et je souhaite effectuer la MFC depuis cette colonne et non plus la colonne coef_de_vente
J'ai modifié ma ligne comme suit :
xa = "=$ah" & ActiveCell.Row & "=" & ji par exemple xa = "=$AH12=1.25"
Selection.FormatConditions.Add Type:=xlExpression, Formula1:=xa
Mais comme expliqué plus haut je traite plusieurs ligne à la fois ( d'ou le "selection.") et ma formule ne reflète pas le numero de ligne et reste constante avec le numero de la première ligne de la sélection
Je pense essayer de modifier ma macro par un appel à cette routine ç chaque ligne plutôt que par chapitre. Mais cela me fait faire de grosses modif
J'avoue ne pas maitriser la MFC sous VBA d'où mon appel à vos connaissances avant de me lancer la dedans car il y a peut être un moyen plus simple.
Merci de votre aide
Patrice