Hello,
Comment dois-je faire pour que mes données insérées à l'aide de mon userform s'inscrivent dans 1.xls et 2.xls ??
Merci a+
GT
Hello,
Comment dois-je faire pour que mes données insérées à l'aide de mon userform s'inscrivent dans 1.xls et 2.xls ??
Merci a+
GT
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
Si tu sais les insérer dans 1.xls, tu fais la même chose pour 2.xls... A moinse... que tu ne saches pas insérer les données dans 1.xls... (?)
Tu dis
Bonjour,
Peut-être que ceci t'aidera...
textbox1 étant dans ce cas l'objet dans lequel tu introduis la donnée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Sheets(1.xls).Cells(numligne, numcolonne) = textbox1.value Sheets(2.xls).Cells(numligne, numcolonne) = textbox1.value
ok merci mais vous pouvez m'aider par rapport a ce code alors ??
jsai pas si ca sera mieu ????............
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim Cellule As Range Set Cellule = Range("B" & Rows.Count).End(xlUp)(2) Cellule(1, 1) = CorpsDeclarations.ExpediteurNom.Text Cellule(1, 2) = CorpsDeclarations.ExpediteurPrenom.Text
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
Sauf qu'en l'occurence il s'agit de deux classeurs et non de deux feuilles
Mais le principe reste le même
Et là, le code de jmh51 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Set Cl1 = Workbooks("Un.xls") Set Cl2 = Workbooks("Deux.xls") Set F1 = Cl1.worksheets("Feuil1") Set F2 = Cl2.worksheets("Feuil1")
Si c'est ce que tu veux...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 F1.Cells(numligne, numcolonne) = textbox1.value F2.Cells(numligne, numcolonne) = textbox1.value '... '... Set Cl1 = NoThing Set Cl2 = NoThing Set F1 = NoThing Set F2 = NoThing
A+
d'acc mais apres comment je lui di pour ecrire dans l'autre classeur ??
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
Je pense que tu cherches la première ligne vide de ta feuille de calculs, alors si ça peut t'aider :
Ensuite pour coller tes données
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 PremiereLigneVideF1 = F1.Range("A1").SpecialCells(xlCellTypeLastCell).Row + 1 PremiereLigneVideF2 = F2.Range("A1").SpecialCells(xlCellTypeLastCell).Row + 1
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 F1.Cells(PremiereLigneVideF1, 1) = CorpsDeclarations.ExpediteurNom.Text F1.Cells(PremiereLigneVideF1 , 2) = CorpsDeclarations.ExpediteurPrenom.Text F2.Cells(PremiereLigneVideF2 , 1) = CorpsDeclarations.ExpediteurNom.Text F2.Cells(PremiereLigneVideF2 , 2) = CorpsDeclarations.ExpediteurPrenom.Text
NB - Cette méthode n'a d'intérêt que si tes deux feuilles contiennent déjà des données, et des données différentes l'une de l'autre. Sinon, la copie d'un feuille, une fois renseignée, d'un classeur sur l'autre est sans doute plus rapide
oui merci beaucoup mais j'ai encore un souci ! il ecrit que sur une feuille et non sur les deux feuilles !!!
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
Ok. Je n'ai pas testé
Avant les lignes F1..., ajoute
Avant les lignes F2... ajoute
Code : Sélectionner tout - Visualiser dans une fenêtre à part F1.activate
Et en début de macro, mets
Code : Sélectionner tout - Visualiser dans une fenêtre à part F2.activate
et en fin de macro
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.screenUpdating = false
Tu dis
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.screenUpdating = false
ca ne marche pas....je pense avoir mal fais c'est sur...tu px regarder ste plait !
g ecrit ca dans mon code !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Application.ScreenUpdating = False Set classeur2 = Workbooks("sbm_v1_08-02-07_year-2007.xls") Set F2 = classeur2.Worksheets("SBM") F2.Activate F2.Cells(1, 1) = CorpsDeclarations.ExpediteurNom.Text Set F2 = Nothing '--- Set classeur2 = Nothing
si jamais jpx te montrer tout mon code pour ke tu comprenne mieu mon probleme ??
merci ++
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
je te l'ai envoyé en MP...
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
enfaite je te décri le role de mon programme :
1) j'ai mon UserForm qui me permet de rentrer des données dans un fichier Excel (panne.xls)
2) une fois cliquer sur confirmer, les infos rentrées depuis le UserForm sont envoyées a mon adresse électronique
3) les informations que j'ai rentré en premier sont également inscrites dans le second fichier Excel (resume.xls)
4) mon programme dois pourvoir permettre de faire des UPDATE mais je ne sais guere comment faire....
je suis un débutant dans ce langage, ca fait deux-trois semaines ke j'ai commencé et merci beaucoup de l'aide ke tout le monde m'a apporté !!
GT
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
Voici le code de mon prog :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 Public Sub Confiramtion_Click() Dim modification As String Dim titreMail As String Dim myRange As Range Dim test As Integer Dim id As Range Dim increment As Range Dim nouveau As Variant Dim Cellule As Range If PanneAmodifier = Not Activate Then modification = "Cette panne sera modifiée..." titreMail = " (Veuillez notez que des modifications pourront être apportées à cette panne !)" End If 'fait le test (si les champs sont vides) If DateAnnee = "" Or ExpediteurNom = "" Or ExpediteurPrenom = "" Or RaisonPanne = "" Or ReparationsReglages = "" Or DateMois = "" Or DateJour = "" Or LinkUp = "" Then MsgBox ("Veuillez remplir tous les champs, s'il vous plaît !" & vbCrLf & " Merc") Else '------------------ Set feuille2 = Range("A" & Rows.Count).End(xlUp)(2) Set Selection = Range("A").Worksheet.Application.Workbooks("sbm_v1_08-02-07_year-2007.xls") Set id = Range("A" & Rows.Count).End(xlUp)(2) Set increment = Range("L" & Rows.Count).End(xlUp)(2) Set myRange = Range("L1:L65536") test = Application.WorksheetFunction.Max(myRange) test = test + 1 id(1, 1) = test increment(1, 1) = test Set Cellule = Range("B" & Rows.Count).End(xlUp)(2) 'attribution de valeur aux cellules Cellule(1, 1) = CorpsDeclarations.ExpediteurNom.Text Cellule(1, 2) = CorpsDeclarations.ExpediteurPrenom.Text Cellule(1, 3) = CorpsDeclarations.DateJour & " / " & CorpsDeclarations.DateMois & " / " & CorpsDeclarations.DateAnnee Cellule(1, 4) = CorpsDeclarations.LinkUp.Text Cellule(1, 5) = CorpsDeclarations.HeureArret_H & " H " & CorpsDeclarations.HeureArret_M.Text Cellule(1, 6) = CorpsDeclarations.HeureReprise_H & " H " & CorpsDeclarations.HeureReprise_M.Text Cellule(1, 7) = CorpsDeclarations.TotalHeure_H & " H " & CorpsDeclarations.TotalHeure_M.Text Cellule(1, 8) = CorpsDeclarations.RaisonPanne.Text Cellule(1, 9) = CorpsDeclarations.ReparationsReglages.Text Load CorpsOutlook CorpsOutlook.Show '-------------------- 'debut du sub mail 'declaration des variables 'stockage des variables Application.StatusBar = "Création e-mail de confirmation de panne...PMP SA" Set app = CreateObject("outlook.application") Set email = app.CreateItem(olMailItem) email.To = "gantec@gmail.com" email.Subject = "Breakdown N° " & test & titreMail email.HtmlBody = "<font face='Verdana'>Bonjour,<br><br>Ceci est un mail de déclarations des pannes machines automatiques<br><br><br><br><h3 align='center'>Arrêts Machines</h3><br><br>Nom : <b>" & Cellule(1, 1) & "</b><br><br>Prénom : <b>" & Cellule(1, 2) & "</b><br><br>Date : <b>" & Cellule(1, 3) & "</b><br><br>Link-Up : <b>" & Cellule(1, 4) & "</b><br><br>Heure d'arrêt : <b>" & Cellule(1, 5) & "</b><br><br>Heure de reprise : <b>" & Cellule(1, 6) & "</b><br><br>Total d'heure(s) d'arrêt : <b>" & Cellule(1, 7) & "</b><br><br>Raisons : <b>" & Cellule(1, 8) & "</b><br><br>Réparations et réglages : <b>" & Cellule(1, 9) & "</b><br><br>Lien sur le fichier Excel : <a href='X:\QA\World Exchange\muaz_ganiji\breakdown_machine\breakdown_machins_v2_2007-02-14.xls'><b>Cliquez ici</b></a> <i>(Breakdown [<b>" & increment(1, 1) & "</b>])</i><br><br><font color='#ff0000'><b><i>" & modification & "</i></b></font></font>" email.display Set email = Nothing Application.StatusBar = "affichage du message outlook" Application.StatusBar = "prêt" 'fin du sub mail '-------------------- Unload CorpsDeclarations Load CorpsConfirmation CorpsConfirmation.Show End If End Sub
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 Public Sub Confiramtion_Click() Dim modification As String Dim titreMail As String Dim myRange As Range Dim test As Integer Dim id As Range Dim increment As Range Dim nouveau As Variant Dim Cellule As Range If PanneAmodifier = Not Activate Then modification = "Cette panne sera modifiée..." titreMail = " (Veuillez notez que des modifications pourront être apportées à cette panne !)" End If 'fait le test (si les champs sont vides) If DateAnnee = "" Or ExpediteurNom = "" Or ExpediteurPrenom = "" Or RaisonPanne = "" Or ReparationsReglages = "" Or DateMois = "" Or DateJour = "" Or LinkUp = "" Then MsgBox ("Veuillez remplir tous les champs, s'il vous plaît !" & vbCrLf & " Merc") Else '------------------ Set feuille2 = Range("A" & Rows.Count).End(xlUp)(2) Set Selection = Range("A").Worksheet.Application.Workbooks("sbm_v1_08-02-07_year-2007.xls") Set id = Range("A" & Rows.Count).End(xlUp)(2) Set increment = Range("L" & Rows.Count).End(xlUp)(2) Set myRange = Range("L1:L65536") test = Application.WorksheetFunction.Max(myRange) test = test + 1 id(1, 1) = test increment(1, 1) = test Set Cellule = Range("B" & Rows.Count).End(xlUp)(2) 'attribution de valeur aux cellules Cellule(1, 1) = CorpsDeclarations.ExpediteurNom.Text Cellule(1, 2) = CorpsDeclarations.ExpediteurPrenom.Text Cellule(1, 3) = CorpsDeclarations.DateJour & " / " & CorpsDeclarations.DateMois & " / " & CorpsDeclarations.DateAnnee Cellule(1, 4) = CorpsDeclarations.LinkUp.Text Cellule(1, 5) = CorpsDeclarations.HeureArret_H & " H " & CorpsDeclarations.HeureArret_M.Text Cellule(1, 6) = CorpsDeclarations.HeureReprise_H & " H " & CorpsDeclarations.HeureReprise_M.Text Cellule(1, 7) = CorpsDeclarations.TotalHeure_H & " H " & CorpsDeclarations.TotalHeure_M.Text Cellule(1, 8) = CorpsDeclarations.RaisonPanne.Text Cellule(1, 9) = CorpsDeclarations.ReparationsReglages.Text Load CorpsOutlook CorpsOutlook.Show '-------------------- 'debut du sub mail 'declaration des variables 'stockage des variables Application.StatusBar = "Création e-mail de confirmation de panne...PMP SA" Set app = CreateObject("outlook.application") Set email = app.CreateItem(olMailItem) email.To = "gantec@gmail.com" email.Subject = "Breakdown N° " & test & titreMail email.HtmlBody = "<font face='Verdana'>Bonjour,<br><br>Ceci est un mail de déclarations des pannes machines automatiques<br><br><br><br><h3 align='center'>Arrêts Machines</h3><br><br>Nom : <b>" & Cellule(1, 1) & "</b><br><br>Prénom : <b>" & Cellule(1, 2) & "</b><br><br>Date : <b>" & Cellule(1, 3) & "</b><br><br>Link-Up : <b>" & Cellule(1, 4) & "</b><br><br>Heure d'arrêt : <b>" & Cellule(1, 5) & "</b><br><br>Heure de reprise : <b>" & Cellule(1, 6) & "</b><br><br>Total d'heure(s) d'arrêt : <b>" & Cellule(1, 7) & "</b><br><br>Raisons : <b>" & Cellule(1, 8) & "</b><br><br>Réparations et réglages : <b>" & Cellule(1, 9) & "</b><br><br>Lien sur le fichier Excel : <a href='X:\QA\World Exchange\muaz_ganiji\breakdown_machine\breakdown_machins_v2_2007-02-14.xls'><b>Cliquez ici</b></a> <i>(Breakdown [<b>" & increment(1, 1) & "</b>])</i><br><br><font color='#ff0000'><b><i>" & modification & "</i></b></font></font>" email.display Set email = Nothing Application.StatusBar = "affichage du message outlook" Application.StatusBar = "prêt" 'fin du sub mail '-------------------- Unload CorpsDeclarations Load CorpsConfirmation CorpsConfirmation.Show End If End Sub
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
veuillez m'excuser mais je ne suis pas un expert des forums
desolé....mais merci pour vos précieux conseils
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
Pas de pb. Mais as-tu corrigé les lignes telles celles-ci, en t'inspirant du code qui t'a été donné ?
Set feuille2 = Range("A" & Rows.Count).End(xlUp)(2)
Set Selection = Range("A").Worksheet.Application.Workbooks("sbm_v1_08-02-07_year-2007.xls")
j'ai essayé des deux manières et je ne sais pas ou est mon erreur !
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
Je t'ai dit
ne peut pas fonctionnerSet feuille2 = Range("A" & Rows.Count).End(xlUp)(2)
Set Selection = Range("A").Worksheet.Application.Workbooks("sbm_v1_08-02-07_year-2007.xls")
Tu as eu mis
Restes-en là, ton erreur n'est pas dans l'instanciation de ton classeur ni de ta feuille de calculsSet classeur2 = Workbooks("sbm_v1_08-02-07_year-2007.xls")
Set F2 = classeur2.Worksheets("SBM")
F2.Activate
F2.Cells(1, 1) = CorpsDeclarations.ExpediteurNom.Text
Quel est le contrôle que tu nommes "ExpediteurNom" ?
c'est le champs texte qui figure dans mon code !
pck le probleme c'est que je n'arrive meme pas a dire de faire koi ke se soit sur ma feuille resume.xls.....je n'arrive ni l'activé, ni la sélectionner rien du tout !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub ExpediteurNom_Change() End Sub
.:: GanTec ::.
Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager