Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…