Merci de me passer le code corriger
car cela est tres vague pour moi desolé
Merci de me passer le code corriger
car cela est tres vague pour moi desolé
C'est simple à retenir :
Quand vous utilisez Range("XY") :
X est la (ou les) lettre(s) de la colonne et Y est le N° de ligne.
Quand vous utilisez Cells(X, Y) :
X est le N° de ligne et Y est le N° de colonne.
Je vous explique
j'ai un tableau avec une liste de tarifs
nom ville destination colonnetarif1 colone 2 .... nom villle collonne1 collonne 2...
ainsi de suite
et donc nom ville est pas un champs à prendre en compte dans la macro
c'est pour sa que
J'ai séparer
Range
et un autre Range mais sa marche pas
Bonsoir,
Vous avez écrit :
Désolé mais je ne comprends grand chose à votre explication.Je vous explique
j'ai un tableau avec une liste de tarifs
nom ville destination colonnetarif1 colone 2 .... nom villle collonne1 collonne 2...
ainsi de suite
et donc nom ville est pas un champs à prendre en compte dans la macro
c'est pour sa que
J'ai séparer
Range
et un autre Range mais sa marche pas
Vous parlez de "Nom ville destination" alors que le fichier que vous avez joint précédemment ne comprend pas de nom de ville mais de département.
Mais finalement, si j'ai bien compris on n'a pas à s'occuper de ce champ (c'est ce que vous précisez il me semble), il suffit de se préoccuper des colonnes comprenant le tarif, qu'il faut bien définir.
Daranc vous a d'ailleurs proposé une solution (nommer les plages) à laquelle vous n'avez pas répondu.
Sans autres précisions je ne vois pas comment vous aider car avec le fichier que vous avez fourni en exemple, le code qui permet le calcul du nouveau tarif fonctionne très bien, mais ?????
Bonjour
En utilisant Insertion/Noms/Définir pour stocker le taux
(ici nommé TAUX)
NB:
Dans le fichier donné en exemple , il y avait des espaces dans les cellules
et le séparateur décimal était un point, pas une virgule.
Pour que le code ci-dessous fonctionne, j'ai du supprimé les espaces
et remplacé le point par une virgule.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub MACRO_TEST() Dim tarifs As Range Dim CELLULE As Range Taux_Augmentation = _ Val(InputBox("Saisir le pourcentage d'augmentation.")) LeTaux = _ CStr(Replace((Taux_Augmentation / 100), ",", ".")) ThisWorkbook.Names.Add "TAUX", "=" & LeTaux Set tarifs = Range("B8:L101") For Each CELLULE In tarifs CELLULE = CELLULE * (1 + [TAUX]) Next Set tarifs = Nothing End Sub
J.L
Bonjour,
en fait comment je voulais deja fais remarqué jai plussieurs tableau excel regroupé dans 1 classeur, il y a des tarifs dedans
je voulais savoir comment rechercher le tarif le plus bas précent dans le tablau en fonction de la feuille
mon VB pour le moment est ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Sub Logiciel_Transport() Dim poids As Integer Dim Transporteur As String Dim prixHt As String Dim typetransport As String Dim nbpalettes As Integer Public Function Transport(poids, typetransport, Transporteur, prixHt) End Function 'Début poids = InputBox("Quel est votre Poids?") If poids < 250 Then typetransport = "messagerie" And Transporteur = "Mazet" Else If poids > 250 And poids > 990 Then typetransport = "messagerie palette" And Transporteur = "Mazet" If nbpalettes > 3 Then typetransport = "affretement" And Transporteur = "Mazet" Else Transporteur = "Mory" If Transporteur = "Mory" Then typetransport = "messagerie colis" Else If departement <> "leRepertoireDepartement (A10: A100)" Then prixHt = poids * "feuilletarifmoryaffretement" End Sub
comment trouvez vous le coe vba
y a t'il une astuce pour trouver le nombre le moins elevé dans une feuille de calcul ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 Sub Logiciel_Transport() Dim poids As Integer Dim Transporteur As String Dim prixHt As String Dim typetransport As String Dim nbpalettes As Integer Dim numdepartement As Integer Dim col As Integer 'colonne Dim lin As Integer ' ligne n°cellule = col + lin poids = col3 Public Sub Transport(poids As Integer, typetransport As String, Transporteur As String, prixHt As Double) End Sub 'Début poids = InputBox("Quel est votre Poids?") If poids < 250 Then typetransport = "messagerie" Transporteur = "Mazet" Else If poids > 250 And poids > 990 Then typetransport = "messagerie palette" Transporteur = "Mazet" Worksheets("Mazet_Messagerie_Palettes").Activate Worksheets("Mazet_Messagerie_Palettes").Range ("68" + 1) prixHt = poids * cell(numdepartement) + 10 If nbpalettes > 3 Then typetransport = "affretement" Transporteur = "Mazet" Else Transporteur = "Mory" If Transporteur = "Mory" Then typetransport = "messagerie colis" Else If departement <> "leRepertoireDepartement (A10: A100)" Then Worksheets("Mory_Affretement").Activate Worksheets("Mory_Affretement").Range ("A" + 1) prixHt = poids * cell(numdepartement * 2) + 10 Range("D5", 1).Value = "typetransport" Range("E5", 1).Value = "Transporteur" Range("F5", 1).Value = "prixHt" End Sub 'Conditions
en fonction des lignes et des colonnes si possibles
moi ligne = departement colone = poids par tranche de 10
Partager