Transférer Valeurs Textbox dans autre feuille
Bonsoir,
Je souhaite tranférer les valeurs des textbox de mon usf CA_Form vers la derniere ligne de la feuille 'données-substances dangereuses'.
Lorsque je clique sur un article dans la feuille 'composition du produit' et que celui ci n'existe pas en feuille 'données-substances dangereuses' exemple l'article BC062F13 cela me lance mon usf, je renseigne les champs et je valide.
Il faut que cet article créée vienne se creer en derniere ligne de la feuille 'donnees-substannces dangereuses".
Je n'arrive pas a mettre en oeuvre cette partie.
Merci de me donner un coup de main.
Zyglur
Fichier en .xlsm sur Excel 2010 et 2007
Salut le fourm
Comme ceci
Private Sub CommandButtonCREER_Click()
Dim DerLig As Long
If MsgBox("Voulez vous créer l'article ?", 36, "Création") = vbYes Then
DerLig = Sheets("données-substances dangereuses").Range("C65000").End(xlUp).Row + 1
Sheets("données-substances dangereuses").Cells(DerLig, 3) = CA_Form.TB_ARTICLE.Value
'.....
Unload CA_Form
End If
End Sub
Mytå
Merci.
C'est exactement ca.
Petite question supplementaire, lors de l'insertion de cette nouvelle ligne, peut on la creer avec le format et les formules de la ligne precedente ?
Merci
Zyglur
-- 25 Avr 2011, 22:26 --
Je rajoute le code modifier a integrer au fichier pour ceux qui aurait une idee sur ma dernier question.
Merci
Private Sub CommandButtonCREER_Click()
Dim DerLig As Long
If MsgBox("Voulez vous créer l'article ?", 36, "Création") = vbYes Then
DerLig = Sheets("données-substances dangereuses").Range("C65000").End(xlUp).Row + 1
Sheets("données-substances dangereuses").Cells(DerLig, 3) = CA_Form.TB_ARTICLE.Value
Sheets("données-substances dangereuses").Cells(DerLig, 4) = CA_Form.CB_RoHS.Value
Sheets("données-substances dangereuses").Cells(DerLig, 5) = CA_Form.TB_DESIGNATION.Value
Sheets("données-substances dangereuses").Cells(DerLig, 6) = CA_Form.TB_FOURNISSEUR.Value
Sheets("données-substances dangereuses").Cells(DerLig, 7) = CA_Form.TB_REFFOURNISSEUR.Value
Sheets("données-substances dangereuses").Cells(DerLig, 10) = CA_Form.TB_MASSE.Value
Sheets("données-substances dangereuses").Cells(DerLig, 14) = CA_Form.TB_COMMENTAIRES.Value
Sheets("données-substances dangereuses").Cells(DerLig, 16) = CA_Form.TB_PB.Value
Sheets("données-substances dangereuses").Cells(DerLig, 19) = CA_Form.TB_SRCPB.Value
Sheets("données-substances dangereuses").Cells(DerLig, 20) = CA_Form.TB_CHROME.Value
Sheets("données-substances dangereuses").Cells(DerLig, 23) = CA_Form.TB_SRCCHROME.Value
Sheets("données-substances dangereuses").Cells(DerLig, 24) = CA_Form.TB_MANGANESE.Value
Sheets("données-substances dangereuses").Cells(DerLig, 27) = CA_Form.TB_SRCMANGANESE.Value
Sheets("données-substances dangereuses").Cells(DerLig, 28) = CA_Form.TB_ANTIMOINE.Value
Sheets("données-substances dangereuses").Cells(DerLig, 31) = CA_Form.TB_SRCANTIMOINE.Value
Unload CA_Form
End If
End Sub
Zyglur
Re le forum
Ajoute ceci avant le transfert des valeurs
Range(Cells(derlig - 1, 1), Cells(derlig - 1, 40)).Copy
Cells(derlig, 1).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
Mytå
Merci,
J'ai inserer avant le tranfert, mais ca donne rien.
Voici le code :
Private Sub CommandButtonCREER_Click()
Dim DerLig As Long
If MsgBox("Voulez vous créer l'article ?", 36, "Création") = vbYes Then
DerLig = Sheets("données-substances dangereuses").Range("C65000").End(xlUp).Row + 1
Range(Cells(DerLig - 1, 1), Cells(DerLig - 1, 40)).Copy
Cells(DerLig, 1).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
Sheets("données-substances dangereuses").Cells(DerLig, 3) = CA_Form.TB_ARTICLE.Value
Sheets("données-substances dangereuses").Cells(DerLig, 4) = CA_Form.CB_RoHS.Value
Sheets("données-substances dangereuses").Cells(DerLig, 5) = CA_Form.TB_DESIGNATION.Value
Sheets("données-substances dangereuses").Cells(DerLig, 6) = CA_Form.TB_FOURNISSEUR.Value
Sheets("données-substances dangereuses").Cells(DerLig, 7) = CA_Form.TB_REFFOURNISSEUR.Value
Sheets("données-substances dangereuses").Cells(DerLig, 10) = CA_Form.TB_MASSE.Value
Sheets("données-substances dangereuses").Cells(DerLig, 14) = CA_Form.TB_COMMENTAIRES.Value
Sheets("données-substances dangereuses").Cells(DerLig, 16) = CA_Form.TB_PB.Value
Sheets("données-substances dangereuses").Cells(DerLig, 19) = CA_Form.TB_SRCPB.Value
Sheets("données-substances dangereuses").Cells(DerLig, 20) = CA_Form.TB_CHROME.Value
Sheets("données-substances dangereuses").Cells(DerLig, 23) = CA_Form.TB_SRCCHROME.Value
Sheets("données-substances dangereuses").Cells(DerLig, 24) = CA_Form.TB_MANGANESE.Value
Sheets("données-substances dangereuses").Cells(DerLig, 27) = CA_Form.TB_SRCMANGANESE.Value
Sheets("données-substances dangereuses").Cells(DerLig, 28) = CA_Form.TB_ANTIMOINE.Value
Sheets("données-substances dangereuses").Cells(DerLig, 31) = CA_Form.TB_SRCANTIMOINE.Value
Unload CA_Form
End If
End Sub
Merci de ton aide.
Zyglur
Re le forum
Tu n'as pas déclarer sur quelle feuille tu veux travailler
Ton code remanier
Private Sub CommandButtonCREER_Click()
Dim DerLig As Long
If MsgBox("Voulez vous créer l'article ?", 36, "Création") = vbYes Then
With Sheets("données-substances dangereuses")
DerLig = .Range("C65000").End(xlUp).Row + 1
.Range(.Cells(DerLig - 1, 1), .Cells(DerLig - 1, 40)).Copy
.Cells(DerLig, 1).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
.Cells(DerLig, 3) = CA_Form.TB_ARTICLE.Value
.Cells(DerLig, 4) = CA_Form.CB_RoHS.Value
.Cells(DerLig, 5) = CA_Form.TB_DESIGNATION.Value
.Cells(DerLig, 6) = CA_Form.TB_FOURNISSEUR.Value
.Cells(DerLig, 7) = CA_Form.TB_REFFOURNISSEUR.Value
.Cells(DerLig, 10) = CA_Form.TB_MASSE.Value
.Cells(DerLig, 14) = CA_Form.TB_COMMENTAIRES.Value
.Cells(DerLig, 16) = CA_Form.TB_PB.Value
.Cells(DerLig, 19) = CA_Form.TB_SRCPB.Value
.Cells(DerLig, 20) = CA_Form.TB_CHROME.Value
.Cells(DerLig, 23) = CA_Form.TB_SRCCHROME.Value
.Cells(DerLig, 24) = CA_Form.TB_MANGANESE.Value
.Cells(DerLig, 27) = CA_Form.TB_SRCMANGANESE.Value
.Cells(DerLig, 28) = CA_Form.TB_ANTIMOINE.Value
.Cells(DerLig, 31) = CA_Form.TB_SRCANTIMOINE.Value
End With
Unload CA_Form
End If
End Sub
Mytå
Merci,
Ca fonctionne presque bien....
Avec le paste : Paste:=xlPasteFormats il me copie bien les bordures mais pas les formules
et avec le Paste:=xlPasteFormulasAndNumberFormats il me copie les formules mais pas les bordures...
Je deviens chevre.
Zyglur
-- 25 Avr 2011, 23:39 --
Mytå,
J'ai résolu,
Je recopie la ligne complete avec Paste:=xlPasteAll et comme apres il insere les valeurs ou des blancs ca corrige le probleme.
Merci pour ton aide précieuse.
Zyglur