Je me tourne vers vous car malgré mes efforts, je sèche... Je fais donc appel à des experts!
En espérant que vous puissiez m'aider...
Je m'explique :
Je cherche désespérément à créer un simulateur pour des utilisateurs.
J'ai un onglet excel avec tous mes tarifs et quelques formules afin de calculer un coût moyen avec un taux de variabilité selon les fournisseurs.
Je souhaiterai créer un bouton déclenchant un UserForm avec tous les scénarios possibles et que cela me donne un résultat selon le nombre de jours choisis et selon les choix appliqués. Que cela remplisse la bonne ligne comme actuellement avec la formule et pouvoir via une MEFC mettre la ligne en gras. En complément j'aimerai que l'utilisateur ne puisse pas déclencher le calcul s'il n'a pas rempli tous les champs et qu'il y ai un message d'erreur selon le champ non-rempli.
En gros, que l'UserForm marche comme le mini-tableau en cellule O16 (malgré qu'il manque la MEFC et le message d'erreur...)
J'ai déja créer le bouton ouvrant l'UserForm avec les champs à remplir, mais là, je bloque. De plus, je souhaiterai que le champ "Nbr de jours" soit libre comme en P16
J'espère avoir été clair, que cela vous interessera et que vous pourrez m'aider !
En PJ un tableau pour exemple
Bonjour,
Ca fait plaisir d'avoir un retour. Ce n'est hélas pas toujours le cas !
Le principal est que la base soit posée et que l'appropriation se fasse.
La cellule à cibler est celle de la colonne M ligne "ligPays"
Pour cela j'ai modifié ligpays en ligpays(3) et créé une variable cible de type Range
Reste à la faire "ressortir" dans le tableau
Bonne continuation
PS : le module 3 ne sert à rien: il a été créé lors d'un enregistrement de macro. Il peut être supprimé.
VB:
Option Explicit
Dim strPays As String
Dim strType As String
Dim strMoteur As String
Dim strFournisseur(3) As String
Dim nbJours As Integer
Sub Calculs()
Dim strPays As String
Dim ligPays(3) As Long...
Bonsoir,
Pour mettre les listes dans les combobox, remplacer le code actuel par celui-ci dessous
Les noms des listes dans la feuille Paramètres ont été créés manuellement.Pour les créer automatiquement, ajouter la sub et la fonction ci-dessous dans le module
Dans le Thisworkbook, évènement Open
Code:
Private Sub Workbook_Open()
MAJ_Listes_Combo
End Sub[
'----------------------------------------------------------------
' Remplacer dans l'évènement Initialize de l'USF
'----------------------------------------------------------------
Private Sub UserForm_Initialize()
'Mettre les noms des Listes utilisées dans les combobox
With combo_Pays
.RowSource = "PaysLoc"
.ListIndex = -1
End With
With combo_Moteur
.RowSource = "Carburant"
.ListIndex = -1
End With
With combo_Type
.RowSource = "TypeAuto"
.ListIndex = -1
End With
txt_nb_Jours.Text = ""
lbl_Loueur.Caption = ""
End Sub
'----------------------------------------------------------
' A mettre dans le module
'----------------------------------------------------------
Sub MAJ_Listes_Combo()
Dim derLig As Long
Dim rng As Range
Dim nomRng As String
With Sheets("Paramètres Listes")
'Liste Pays en colonne A
derLig = .Range("A10000").End(xlUp).Row
Set rng = .Range("A2:A" & derLig)
nomRng = "PaysLoc"
MAJ_Plage nomRng, rng
'Liste Carburant en colonne C
derLig = .Range("C10000").End(xlUp).Row
Set rng = .Range("C2:C" & derLig)
nomRng = "Carburant"
MAJ_Plage nomRng, rng
'Liste Type Auto en colonne E
derLig =. Range("E10000").End(xlUp).Row
Set rng =.Range("E2:E" & derLig)
nomRng = "TypeAuto"
MAJ_Plage nomRng, rng
End With
End Sub
Function MAJ_Plage(strNom As String, plgRng As Range)
On Error Resume Next
ThisWorkbook.Names.Delete strNom
ThisWorkbook.Names.Add Name:=strNom, RefersTo:=plgRng
End Function
Ca y est!!! J'avais omis les listes de nom via le gestionnaire
Maintenant ça fonctionne
Bon du coup j'ai tellement fais de manips que la formule de calcul ne me prends plus en compte le dernier fournisseur et que mes 2 codes pour le refresh du tableau à la réouverture et le retrait de la croix rouge ne marche plus...
Une journée sur Excel m'a mis les yeux en vrac... Je vais bosser dessus plus tard!
Merci encore de l'aide!!! C'est vraiment Génial
Bonsoir,
Il ne faut pas hésiter à faire des sauvegardes et ne détruire les fichiers trop anciens qu'à coup sûr.
Ca permet de récupérer des erreurs !
Bon courage pour la suite.
Bonsoir,
Il ne faut pas hésiter à faire des sauvegardes et ne détruire les fichiers trop anciens qu'à coup sûr.
Ca permet de récupérer des erreurs !
Bon courage pour la suite.
Bonjour ExcLnoob, Pounet95, le forum,
Une autre solution à tester.
Dans le formulaire, j’ai ajouté le Coût moyen du carburant pour une journée. Actuellement, celui-ci est fixe.
Lorsque le coût véhicule choisi est égal à 0, j’ai remplacé celui-ci par 5 000, afin que le Coût moyen total soit très élevé. A revoir pour la présentation.
Cordialement,
Bernard
Bonsoir,
Désolé de ma réponse tardive
J'ai bien tester votre tableau mais j'étais déja bien avancé sur la solution précédente, qui s'adapte parfaitement à mon besoin.
Merci pour votre aide!