vba excel via userform : code pour que la cellule copier se modifie en même temps que la cellule source

kuistau

XLDnaute Nouveau
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 fonctionnent:)seulement il y a un paramètre que je n'arrive pas à intégrer :mad: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
 
Dernière édition:

kuistau

XLDnaute Nouveau
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
 

kuistau

XLDnaute Nouveau
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
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

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
 

kuistau

XLDnaute Nouveau
staple1600
voici ce que ça donne

Private Sub CommandButton1_Click()

Dim L As Integer
Dim msg As String

msg = ComboBox_fournisseur.Value
FA = ActiveSheet.Name
Application.ScreenUpdating = True

If msg = "" Then
MsgBox ("veuillez choisir un fournisseur")
Exit Sub
End If

Sheets(ComboBox_fournisseur.Value).Activate
Range("b3").Select

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
 

xUpsilon

XLDnaute Accro
Bonjour,

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.

Bonne continuation
 

Statistiques des forums

Discussions
311 705
Messages
2 081 733
Membres
101 807
dernier inscrit
foued