Demande de macro

B

Boreal91

Guest
Bonjour,

Je cherche à réaliser une macro pour enregistrer des coûts de transport en fonction d'une catégorie de fret et du département de livraison.

Dans une première feuille de calcul appelée 'Grille tarifaire', je saisi dans la colonne 'A' tous les départements métropolitains et dans les lignes 1 et 2 les 15 catégories de fret.

Dans une seconde feuille appelée 'Coût transport' je créé un tableau sous la forme suivante :
Colonne A = date
Colonne B = la référence d'envoi
Colonne C = type de colis
Colonne D = numéro de département de destination
Colonne E = poids du colis
Colonne F = catégorie de fret (déjà calculée par une formule en fonction d'une fourchette de poids)
Colonne G = prix en fonction du département et de la catégorie de fret.

Je souhaite avoir une macro pour renseigner cette dernière colonne 'G' en allant chercher le renseignement dans la première feuille 'grille tarifaire' (prix en fonction de la catégorie de poids et du département de destination)
 

Gruick

XLDnaute Accro
Bonsoir,
Travaillant s/mac, plus pratique, j'ai peur que le zip ne passe pas.
J'ai simplement dé fusionné les cellules de titre dans les tarifs, sauf la A1.
Tu te places donc s/la cellule rouge dans le tableau 'coût...', et tu exécutes la macro.
Je te donne l'idée générale, je te laisse le soin de la paufiner, j'ai mis des msgbox avec des apostrophes, tu peux les enlever, ou les rendre actives.
Je me suis bien amusé, j'avais un problème similaire, ça m'a boosté.

Voilà la bestiole

Sub SeleX()
' SeleX Macro
' Macro enregistrée le 28/12/05 par Gruick
' Touche de raccourci du clavier: Option+Cmd+s
colcat = Selection.Cells.Offset(0, -1).Value
ligdep = Selection.Cells.Offset(0, -3).Value
'MsgBox 'Catégorie ' & colcat & ' Département ' & ligdep
Sheets('Grille tarifaire Transport').Select
Range('a1').Select
ActiveCell.Offset(0, colcat).EntireColumn.Select
Set zone1 = Selection
Range('a1').Select
ActiveCell.Offset(ligdep, 0).EntireRow.Select
Set zone2 = Selection
Prix = Intersect(zone1, zone2)
'MsgBox 'la valeur est ' & Prix
Sheets('Coût Transport').Select
ActiveCell = Prix
End Sub
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir Boreal91, Nevil, Roro34, niki42, Gruick, Papa, Maman, l'univers :)

Boreal, Je te renvoie ton fichier avec des formules. Ainsi, tu auras le choix entre formule et macro :)

Amicalement
Charly [file name=Coutstransport_20051228184329.zip size=29596]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Coutstransport_20051228184329.zip[/file]
 

Pièces jointes

  • Coutstransport_20051228184329.zip
    28.9 KB · Affichages: 32

Gruick

XLDnaute Accro
Salut Charly2, et Boreal91
Quel idiot je suis ?
La commande INDEX, je l'avais oubliée, alors qu'elle était idéale.
Mais, pour mon cas personnel, elle avoue ses limites, j'ai adapté ma macro et hop. Le travail n'a pas été inutile. (import AS400, entre 15 et 20000 lignes...bref, un monument, mais j'arrive au bout.
Boreal demandait une macro, mais je lui conseille donc ta solution.
Bon, je reprends le manuel...
 

Statistiques des forums

Discussions
312 108
Messages
2 085 380
Membres
102 876
dernier inscrit
BouteilleMan