Concaténisation en VBA, problème de décimale (résolu)

hemardjean

XLDnaute Occasionnel
Bonjour le forum

Après moult recherche je ne parviens pas à trouver le bon code.

Explication :
Les données sont collectées via un formulaire (supprimer pour plus de simplicité) travaillant avec un classeur fermé et elles sont placées dans l’onglet « fiche donne » dans les cellules B4 à H23 où s’opère les calculs.
Ces calculs sont récupérés dans l’onglet recette de B9 à B28 et en D9 à D28.
Pour mes recettes j’ai besoin après concaténisation ;
-en colonne E, un poids et un abrégé, pour ce faire j’utilise la formule = GAUCHE(D9;4)
- en colonne F un poids et l’ingrédient en entier
puis je click sur le bouton « concaténer », jusque là tout va bien.

Problème :
Mon petit soucis se trouve dans les cellules E8 et F8, à la concaténisation je retrouve les chiffres en entier et ils prennent beaucoup de place alors que je n’ai besoin que deux décimales, pourriez vous m’aider à supprimer ce problème mes aussi que les zéros en dessous du dernier ingrédient ne s’affiche pas dans la concaténisation .

Ci joint le fichier simplifié.

Merci de votre collaboration

Cordialement
hemardjean
 

Pièces jointes

  • fiche recette.xlsm
    158.7 KB · Affichages: 28
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Concaténisation en VBA, problème de décimale

Bonsoir hemardjean,

Si j'ai bien compris la demande, essaie avec ce code modifié :

Code:
Sub concatener()
Dim i As Integer
Application.ScreenUpdating = False
Sheets("pour_copie_recette").Activate
Range("f9:f28").ClearContents
 For i = 9 To 28 Step 1
  If Cells(i, 2) <= 0 Then Exit Sub
    Cells(i, 5) = Cells(i, 1) & "" & Format(Cells(i, 2), "0.00") & "" & Cells(i, 3) & " "
    Cells(i + 1, 5) = Cells(i, 1) & "" & IIf(Cells(i + 1, 2) = 0, "", Format(Cells(i + 1, 2), "0.00")) & "" & Cells(i + 1, 3)
'   If Cells(i, 2) = "" Then Exit Sub
    Cells(i, 6) = Format(Cells(i, 2), "0.00") & ";" & Cells(i, 4) & "/"
    Cells(i + 1, 6) = Cells(i, 1) & "" & Cells(i + 1, 4)
 Next i
Application.ScreenUpdating = True
End Sub

Cordialement.

PS: bon appétit!
 

hemardjean

XLDnaute Occasionnel
Re : Concaténisation en VBA, problème de décimale

Bonsoir Papou-net le forum

Merci beaucoup cela marche très bien ,j'ai cherché des codes plus compliqués et je n'arrivais pas à les adapter. Merci encore,et bon appétit à toi aussi.

Cordialement
 

Discussions similaires

Réponses
12
Affichages
330
Réponses
9
Affichages
169

Statistiques des forums

Discussions
312 319
Messages
2 087 213
Membres
103 494
dernier inscrit
JP9231