Remplissage auto d'un tableau de donnés selon plusieurs critères

Fermé
stRiks Messages postés 2 Date d'inscription mardi 17 novembre 2015 Statut Membre Dernière intervention 18 novembre 2015 - Modifié par stRiks le 17/11/2015 à 12:38
stRiks Messages postés 2 Date d'inscription mardi 17 novembre 2015 Statut Membre Dernière intervention 18 novembre 2015 - 18 nov. 2015 à 11:18
Bonjour,

Je cherche une formule me permettant un remplissage automatique d'une grille tarifaire selon plusieurs critères

Voir fichier https://drive.google.com/file/d/0B1J-JgQvD7Z4V0tOWkFhdGlaWlE/view?usp=sharing

C'est donc l'onglet TARIF qui doit être rempli en auto selon une tranche de poids par rapport au colonnes H, I et J dans l'onglet BDD

La première colonne du tableau à remplir correspond au Dpt
La ligne 1 correspond aux tranches de poids
Les cellules vident correspondent au prix indiqué selon le poids et dpt de l'onglet BDD

Un grand merci à ceux qui m'aideront car je sèche sur la formule adequate.
A voir également:

1 réponse

stRiks Messages postés 2 Date d'inscription mardi 17 novembre 2015 Statut Membre Dernière intervention 18 novembre 2015
18 nov. 2015 à 11:18
J'ai trouvé ma solution

Au cas ou cela serve à quelqu'un voici la macro utilisé :

Sub calculauto()
'
Application.Goto Reference:="calculauto"
' calculauto Macro
'
' Touche de raccourci du clavier: Ctrl+m
' Dim FL1 As Worksheet, Cell As Range
Set FL1 = Worksheets("index")
Set FL2 = Worksheets("Tarifs")
Dim Compteur As Integer, dep As Integer, poid As Long, x As Integer
With FL1
'Utilisation de la propriété UsedRange dans une boucle For Each... Next
For Each cell In .UsedRange
Compteur = Compteur + 1
' si 4 alors new line
If Compteur = 4 Then
Compteur = 1
End If
' si 1 Sav du dep
If Compteur = 1 Then
dep = cell.Value
dep = dep + 1
If dep = 99 Then
dep = 97
End If
End If
' si 1 Sav du poid
If Compteur = 2 Then
poid = cell.Value
End If
' si 3 On met le prix dans la cell x selon poid
If Compteur = 3 Then

poid = cell.Value / 10
x = poid + 1
' on ecrit la cellule
FL2.Cells(dep, x).Value = cell.Value
End If

' lecture cellule suivante
Next
End With


End Sub
0