bonjour à toutes et tous.
je plante le décor:
j'ai un classeur dans lequel il y a plusieurs feuilles de fournisseurs avec leurs produits respectifs et tarifs (variable).
j y ajoute des fiches techniques qui reprend certains produits et tarifs de fournisseurs qui entre dans la composition des recettes puis je calcul le prix de reviens de chaque plat. jusque la mes codes fonctionnentseulement il y a un paramètre que je n'arrive pas à intégrer c'est la modification automatique des tarifs de la fiche technique en même temps que la variation tarifaire de mes fournisseurs.
je suis sur de pas être loin mais je bloque, je pensais utiliser une propriété formula mais j'ai un peu de mal à comprendre de principe ... suis dans le vrai ou pas
un coup de pouce svp
merci
kuistau
salut danielco
je ne comprend pas la logique de fonctionnement :
ActiveCell.Offset(0, 1).FormulaR1C1 = "=(nom de ma page fournisseur)!R[-14]C[2]"
je récupère le nom de mon fournisseur via une variable de ma combobox que je place dans la formule et erreur
j'ai travaillé ce code depuis l'enregistreur de macro
mais ça beug
merci à tous
kuistau
danielco
je viens de tester le renvoi à la page fournisseur fonctionne au poil par contre il ne choisi pas la bonne cellule pour mon tarif .
je pense qu'il faut que je travail sur la parti R[ -14]C[2] qui est fixe dans ce code .
je vais tester un x et y pour une recherche de colonne et ligne de la cellule source
kuistau
Sans fichier exemple pour vérifier la donne, j'ai testé ceci (donc au pif)
VB:
Private Sub CommandButton1_Click()
Dim Ligne&, Colonne&
Ligne = 14
Colonne = 2
ActiveCell(1, 2).Formula = "=" & Me.ComboBox1 & "!R" & Ligne & "C" & Colonne
End Sub
Do Until ActiveCell = TextBox1.Value
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(0, 3).Activate
x = ActiveCell.Row
y = ActiveCell.Column
Sheets(FA).Activate
If MsgBox("fournisseur selectionné : " & msg & vbNewLine & " Confirmez-vous l'insertion de ce nouveau produit ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
L = Range("b65536").End(xlUp).Row + 1
Range("b" & L).Value = TextBox1
Range("b" & Rows.Count).End(xlUp).Select
ActiveCell.Offset(0, 1).Formula = "='" & msg & "'!R" & x & "C" & y
End If
TextBox1 = ""
TextBox1.SetFocus
End Sub
ça marche au top
merci
merci à danielco
cordialement
kuistau
Simple petite intervention : pensez à utiliser les balises de code pour rendre votre code lisible.
De plus, un fichier exemple est toujours plus que bienvenu pour pouvoir aider efficacement. Des images ou des copies de partie de code ne sont souvent pas suffisants.
bonjour xUpsilon
je te remercie pour ces conseils
je viens pas souvent mais j'y penserais la prochaine fois de j'ai besoins d'aide
j'aimerais savoir comment valider ce post comme étant résolu?
bonne journée