VBA - Rangement de données sur feuille excel

Fermé
CamilleDR Messages postés 29 Date d'inscription lundi 24 octobre 2016 Statut Membre Dernière intervention 12 juin 2017 - 24 oct. 2016 à 12:13
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 26 oct. 2016 à 08:41
Bonjour,
Comme expliqué dans un autre topic plus tôt, j'ai une liste d'ingrédients dans laquelle je sélectionne des ingrédients un par un en indiquant leur quantité.
Une fois ces ingrédients sélectionnés avec leur quantité, ils s'affichent dans une listbox à 2 colonnes.
Je souhaite ensuite valider la recette. C'est à dire que de manière automatique devront se faire les choses suivantes :
> Ouvrir une nouvelle page qui prend le nom écrit dans ma zone de texte "Texte_Titre"
> Ecrire en colonne A le nom des ingrédients.
> Ecrire en colonne B la quantité correspondante pour chaque ingrédient, avec la somme de toutes les quantités en bas.
> Ecrire en colonne C la quantité correspondante en %, avec la somme des % (100) en bas.
> Aller chercher, pour les colonnes D à K, les valeurs correspondantes aux ingrédients, qui sont notées dans ma base de données (autre fichier).
> Fermer l'userform.

Pour le moment je suis un peu bloquée sur le premier point. Je pense qu'il faudrait que je mette en place une boucle, mais je ne suis pas sûre... Mon code est le suivant :

'Paramètres du bouton valider recette
Private Sub BoutonValiderRecette_Click()

'Crée une nouvelle feuille
Sheets.Add

'Empêche la validation si le nom de la recette n'est pas mentionné
With ActiveSheet
If Texte_Titre.Value = "" Then
MsgBox "Le nom de la recette est obligatoire"
End If
ActiveSheet.Name = Texte_Titre.Value
End With
Exit Sub

Ajouter_Feuille.Hide
End Sub
A voir également:

1 réponse

CamilleDR Messages postés 29 Date d'inscription lundi 24 octobre 2016 Statut Membre Dernière intervention 12 juin 2017
24 oct. 2016 à 12:27
Suite du code que j'ai bricolé, pour le rangement des données dans les bonnes cases... Il y a un trou en bas car je ne sais pas comment faire...

'Range les données de la nouvelle recette sur la feuille
For Lig = 0 To Liste_Ing.ListCount - 1
.Range("A" & Derligne + Lig).Value = Liste_Ing.List(Lig)
.Range("B" & Derligne + Lig).Value = Liste_Ing.List(Lig, 2)

'Va chercher les données correspondant aux ingrédients
Set Données = Workbooks.Open(Filename:="D:\#_PHILIPPE FAUR\Calcul des valeurs nutritionnelles\Base de données.xlsx")
With Données
Set trouve = .Columns(1).Cells.Find(Liste_Ing.List(Lig, 1), lookat:=xlWhole)
End With
With ActiveSheet
... Range ???
End If
End If
End With
0
CamilleDR Messages postés 29 Date d'inscription lundi 24 octobre 2016 Statut Membre Dernière intervention 12 juin 2017
24 oct. 2016 à 14:57
Help ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > CamilleDR Messages postés 29 Date d'inscription lundi 24 octobre 2016 Statut Membre Dernière intervention 12 juin 2017
26 oct. 2016 à 08:41
Bonjour
Sans voir ton classeur et avec des codes tronqués....

<code>Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic droit-coller le raccourci dans le message
Dans l’attente
0