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

XL 2010 mettre la valeur d'un inputbox dans une formule

loul03

XLDnaute Occasionnel
Bonjour

j'aimerais que la valeur qui ressort de mon inputbox , correspondant au numéro de facture, vienne s'intégrer directement dans la formule , plutot que de le copier dans une case pour ensuite reprendre cette case dans la formule. on évite une étape

voici ce que j'ai tapé comme code

VB:
 Dim num_facture As Integer
    num_facture = InputBox("Quel est le numéro de la facture dans votre facturier?", "N° de facture")
    Do While Len(num_facture) = 0
    MsgBox "Cette donnée est obligatoire"
    num_facture = InputBox("Quel est le numéro de la facture dans votre facturier?", "N° de facture")
    Loop
    Range("c3").Value = num_facture
    'calcul du numéro de facture
    Range("C4").Select
    ActiveCell.FormulaR1C1 = _
        "=YEAR(RC[5])&""-""&MONTH(RC[5])&""/""&MID(R[-1]C,1,4)"
    'calcul du numéro de facture
    Range("C5").Select
    ActiveCell.FormulaR1C1 = _
        "=YEAR(R[-1]C[5])&""-""&MONTH(R[-1]C[5])&""/""&num_facture"

mais à chaque fois la cellules c3 me met #nom
alors qu'en c5 j'ai bien le bon résultat

par avance je vous en remercie

cdt
loul03
 

Jacky67

XLDnaute Barbatruc
Bonjour,
Avec une date valide en H4
Essaye ceci
VB:
Sub test()
Dim num_facture
  Do
    num_facture = InputBox("Quel est le numéro de la facture dans votre facturier?", "N° de facture")
    If IsNumeric(num_facture) Then Exit Do
     MsgBox "Cette donnée est obligatoire"
   Loop
    Range("C5") = Format([h4], "yyyy-mm/") & Format(num_facture, "0000")
End Sub
 

Jacky67

XLDnaute Barbatruc
bonjour jacky

merci de ton aide

comment faire pour ne pas avoir 0314 pour la facture 314 mais 314 . pour le tri dans les dossiers et la hiérarchie , le 0 me gêne

par avance merci
Re..
Essaye:
VB:
Sub test()
Dim num_facture
Do
  num_facture = InputBox("Quel est le numéro de la facture dans votre facturier?", "N° de facture")
  If IsNumeric(num_facture) Then Exit Do
  MsgBox "Cette donnée est obligatoire"
Loop
With [C5]
  .NumberFormat = "@"
  .Value = Format([h4], "yyyy-mm/") & num_facture
End With
End Sub
** Ps; Si la feuille active n'est pas la feuille de destination , il faudra préciser la feuille.
 
Dernière édition:

Discussions similaires

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