OVH Cloud OVH Cloud

PB actualisation formulaire

2 réponses
Avatar
theyankee7620
Bonjour,

J'ai un problème avec un formulaire(f1).
Dessus il existe un bouton appelant un autre formulaire(f2).
Cet autre formulaire(f2) permet d'ajouter des informations au premier
formulaire(f1).
Quand je clik sur valider, les infos de f1 vont dans f2 puis f2 est déchargé
et la main revient sur f1.

Jusque la tout va bien.

Le problème que lorsque f1 reprend la main, les champs se vide, ce qui est
anormal. De plus , ce problème intervient uniquement lors de la premiere
manip entre f1 et f2. Si je recommence une seconde fois aucun pb.

J'ai essayé plusieurs solutions, mais impossible de trouver une
amélioration.

Avez-vous une idée?

Je développe sous excel 2002.

Merci

2 réponses

Avatar
Starwing
Bonjour theyankee7620,

Va falloir nous montrer ton code, sinon, ça va être difficile de cerner ton
problème.

Starwing
Avatar
theyankee7620
Voila le code

merci de ton aide


formulaire saisie_rm



VERSION 5.00
Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} Saisie_rm
Caption = "Saisie de RM"
ClientHeight = 8430
ClientLeft = 45
ClientTop = 435
ClientWidth = 9975
OleObjectBlob = "Saisie_rm.frx":0000
StartUpPosition = 1 'CenterOwner
End
Attribute VB_Name = "Saisie_rm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Private Sub add_atelier_Click()
Load Ajout_atelier
Ajout_atelier.Show
End Sub

Private Sub add_cu_Click()
Load Ajout_codecu
Ajout_codecu.Show
End Sub

Private Sub add_fournisseur_Click()
Load Ajout_fournisseur
Ajout_fournisseur.Show
End Sub

Private Sub add_lieu_Click()
Load Ajout_lieu
Ajout_lieu.Show
End Sub

Private Sub add_mabec_Click()
Load Ajout_mabec
Ajout_mabec.Show
End Sub

Private Sub add_util_Click()
Load Ajout_utilisateur
Ajout_utilisateur.Show
End Sub

Private Sub annuler_click()
Unload Saisie_rm
End Sub

Private Sub code_mabec_Change()
If (Saisie_rm.code_mabec.Value = "NON CODIFIE") Then
Saisie_rm.ref_fournisseur = ""
Saisie_rm.designation = ""
Saisie_rm.ref_fournisseur.Enabled = True
Saisie_rm.designation.Enabled = True
Else
Worksheets("Mabec").Activate
r = "A3:A" & ActiveSheet.UsedRange.Rows.Count
For Each Cell In Range(r)
If CStr(Cell.Value) = CStr(Saisie_rm.code_mabec.Value) Then
Cell.Activate
With ActiveCell
colone = ActiveCell.Column
ligne = ActiveCell.Row
Cells(ligne, colone + 1).Activate
Saisie_rm.ref_fournisseur = ActiveCell.Value
Cells(ligne, colone + 2).Activate
Saisie_rm.designation = ActiveCell.Value
Saisie_rm.ref_fournisseur.Enabled = False
Saisie_rm.designation.Enabled = False
End With
Exit For
End If
Next
End If
End Sub


Private Sub date_envoie_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If DateDiff("d", Date, CDate(Saisie_rm.date_envoie)) > 0 Then
MsgBox ("Date erronée")
Saisie_rm.date_envoie = Date
End If
End Sub

Private Sub Label1_Click()

End Sub

Private Sub nom_fournisseur_Change()
Saisie_rm.nom_reparateur = UCase(Saisie_rm.nom_fournisseur)
Worksheets("Mabec").Activate
Saisie_rm.code_mabec.Clear
Saisie_rm.code_mabec.AddItem "NON CODIFIE"
Saisie_rm.code_mabec.List(0, 1) = ""
Saisie_rm.code_mabec.List(0, 2) = ""
r = "E3:E" & ActiveSheet.UsedRange.Rows.Count()
k = 1

If UCase(Saisie_rm.nom_fournisseur) = "SCHNEIDER_M2S" Then
nom_fourni = "SCHNEIDER"
Else
nom_fourni = UCase(Saisie_rm.nom_fournisseur)
End If

For Each Cell In Range(r)
If CStr(Cell.Value) = nom_fourni Then
Cell.Activate
With ActiveCell
Cell(1, -3).Activate
Saisie_rm.code_mabec.AddItem ActiveCell.Value
Cell(1, -2).Activate
Saisie_rm.code_mabec.List(k, 1) = ActiveCell.Value
Cell(1, -1).Activate
Saisie_rm.code_mabec.List(k, 2) = ActiveCell.Value
End With
k = k + 1
End If
Next
Saisie_rm.code_mabec.ListIndex = -1

Worksheets("Lieu").Activate
Saisie_rm.lieu.Clear
r = "B2:B" & ActiveSheet.UsedRange.Rows.Count()
For Each Cell In Range(r)
If CStr(Cell.Value) = nom_fourni Then
Cell.Activate
With ActiveCell
Cell(1, 0).Activate
Saisie_rm.lieu.AddItem ActiveCell.Value
End With
End If
Next
Saisie_rm.lieu.ListIndex = -1
End Sub

Private Sub test_Click()

End Sub

Private Sub UserForm_Initialize()
Application.ScreenUpdating = False

''Activation de la feuille Utilisateurs
Worksheets("Utilisateurs").Activate
''Initialisation de la liste d'utilisateurs
Saisie_rm.nom.ColumnCount = 2
Saisie_rm.nom.ColumnHeads = True
Saisie_rm.nom.ColumnWidths = 70
Saisie_rm.nom.ListWidth = 150
Saisie_rm.nom.RowSource = "A2:B" & ActiveSheet.UsedRange.Rows.Count
''Valeur par défaut de la liste
Saisie_rm.nom.ListIndex = -1
''Initialisation de la date
Saisie_rm.date_envoie = Date
Saisie_rm.date_envoie.MaxDate = Date

Saisie_rm.designation = ""
Saisie_rm.designation.Enabled = True

Saisie_rm.ref_fournisseur = ""
Saisie_rm.ref_fournisseur.Enabled = True

Saisie_rm.cause = ""
Saisie_rm.cout = ""
Saisie_rm.num_coli = ""
Saisie_rm.num_serie = ""
Saisie_rm.num_suivi = ""

Worksheets("Fournisseurs").Activate
Saisie_rm.nom_fournisseur.ColumnHeads = True
Saisie_rm.nom_fournisseur.ColumnCount = 3
Saisie_rm.nom_fournisseur.ColumnWidths = "70;100;60"
Saisie_rm.nom_fournisseur.ListWidth = 240
Saisie_rm.nom_fournisseur.RowSource = "A2:C" &
ActiveSheet.UsedRange.Rows.Count
Saisie_rm.nom_fournisseur.ListIndex = -1

Worksheets("Fournisseurs").Activate
Saisie_rm.nom_reparateur.ColumnHeads = True
Saisie_rm.nom_reparateur.ColumnCount = 3
Saisie_rm.nom_reparateur.ColumnWidths = "70;100;60"
Saisie_rm.nom_reparateur.ListWidth = 240
Saisie_rm.nom_reparateur.RowSource = "A2:C" &
ActiveSheet.UsedRange.Rows.Count
Saisie_rm.nom_reparateur.ListIndex = -1

Worksheets("Mabec").Activate
Saisie_rm.code_mabec.ColumnHeads = True
Saisie_rm.code_mabec.ColumnCount = 3
Saisie_rm.code_mabec.ColumnWidths = "70;100;150"
Saisie_rm.code_mabec.ListWidth = 330
'Saisie_rm.code_mabec.RowSource = "A2:C" &
ActiveSheet.UsedRange.Rows.Count
'Saisie_rm.code_mabec.ListIndex = -1

Worksheets("Atelier").Activate
Saisie_rm.num_atelier.RowSource = "A2:A" &
ActiveSheet.UsedRange.Rows.Count
Saisie_rm.num_atelier.ListIndex = -1

Worksheets("Code CU").Activate
Saisie_rm.codecu.RowSource = "A2:A" & ActiveSheet.UsedRange.Rows.Count
Saisie_rm.codecu.ListIndex = -1

'Worksheets("Lieu").Activate
'Saisie_rm.lieu.RowSource = "A2:A" & ActiveSheet.UsedRange.Rows.Count
'Saisie_rm.lieu.ListIndex = -1
End Sub

Private Sub UserForm_Terminate()
Application.ScreenUpdating = True
End Sub

Private Sub valider_Click()
Dim i As Integer
If Saisie_rm.nom.Value = "" Then
MsgBox ("Le champs nom ne peut être vide")
Exit Sub
End If
If Saisie_rm.date_envoie = "" Then
MsgBox ("Le champs date d'envoi ne peut être vide")
Exit Sub
End If
If Saisie_rm.nom_fournisseur = "" Then
MsgBox ("Le champs nom du Fournisseur ne peut être vide")
Exit Sub
End If
If Saisie_rm.nom_reparateur = "" Then
MsgBox ("Le champs nom du Réparateur ne peut être vide")
Exit Sub
End If
If Saisie_rm.code_mabec = "" Then
MsgBox ("Le champs Code Mabec ne peut être vide")
Exit Sub
End If
If Saisie_rm.ref_fournisseur = "" Then
MsgBox ("Le champs référence Fournisseur ne peut être vide")
Exit Sub
End If
If Saisie_rm.designation = "" Then
MsgBox ("Le champs désignation ne peut être vide")
Exit Sub
End If
If Saisie_rm.num_atelier = "" Then
MsgBox ("Le champs numéro d'atelier doit contenir 4 chiffres")
Exit Sub
End If
If Not Saisie_rm.num_atelier.TextLength = 4 Then
MsgBox ("Le champs numéro d'atelier doit contenir 4 chiffres")
Exit Sub
End If
If Saisie_rm.num_suivi = "" Then
MsgBox ("Le champs numéro de DE / DL / suivi ne peut être vide")
Exit Sub
End If

Worksheets("RM").Activate
Range("A1:A10000").Activate
en_colone = ActiveCell.Column
en_ligne = ActiveCell.Row
While Not IsEmpty(ActiveCell.Value)
If i <= Val(ActiveCell.FormulaR1C1) Then
i = Val(ActiveCell.FormulaR1C1)
i = i + 1
End If
Cells(en_ligne, en_colone).Activate
en_ligne = en_ligne + 1
Wend
Cells(en_ligne - 1, en_colone).Activate
With ActiveCell
ActiveCell.FormulaR1C1 = UCase(i)
en_colone = en_colone + 1
Cells(en_ligne - 1, en_colone).Activate
ActiveCell.FormulaR1C1 = CDate(Saisie_rm.date_envoie)
Cells(en_ligne - 1, en_colone + 1).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.nom.Value)
Cells(en_ligne - 1, en_colone + 2).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.nom_fournisseur.Value)
Cells(en_ligne - 1, en_colone + 3).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.nom_reparateur.Value)
Cells(en_ligne - 1, en_colone + 4).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.code_mabec.Value)
Cells(en_ligne - 1, en_colone + 5).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.ref_fournisseur)
Cells(en_ligne - 1, en_colone + 6).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.designation)
Cells(en_ligne - 1, en_colone + 7).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.num_serie)
Cells(en_ligne - 1, en_colone + 8).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.cause)
Cells(en_ligne - 1, en_colone + 9).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.num_atelier.Value)
Cells(en_ligne - 1, en_colone + 10).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.codecu.Value)
Cells(en_ligne - 1, en_colone + 11).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.lieu.Value)
Cells(en_ligne - 1, en_colone + 12).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.cout)
Cells(en_ligne - 1, en_colone + 13).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.num_suivi)
Cells(en_ligne - 1, en_colone + 14).Activate
ActiveCell.FormulaR1C1 = UCase(Saisie_rm.num_coli)
MsgBox ("Numéro de saisie : " & i)
End With
If UCase(Saisie_rm.nom_fournisseur.Value) = "SCHNEIDER_M2S" Then
Call word_schneider_m2s
End If
If UCase(Saisie_rm.nom_fournisseur.Value) = "SIEMENS" Then
Call word_siemens
End If
Worksheets("RM").Activate
r = "A3:Y" & ActiveSheet.UsedRange.Rows.Count
Range(r).Sort _
key1:=Range("B3")
Call UserForm_Initialize
Worksheets("RM").Activate
Range("A3").Activate
End Sub

Private Sub word_schneider_m2s()
nom = Saisie_rm.nom.Value

Dim tel As String
If nom = "CHEVALLIER" Then
tel = "02.32.72.08.31"
End If
If nom = "LE MOAL" Then
tel = "02.32.72.29.99"
End If
If nom = "MARTIN" Then
tel = "02.32.72.05.03"
End If

ref = Saisie_rm.ref_fournisseur.Value
mabec = Saisie_rm.code_mabec.Value
serie = Saisie_rm.num_serie.Value
fdd = Saisie_rm.num_suivi.Value

Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Application.DisplayAlerts = True
AppWord.ShowMe
AppWord.Visible = True
Set DocWord =
AppWord.Documents.Open("I:Lha_MaintenanceUet_Plateforme_TechmaterielreparationsFormulaireRMSchneider_m2s.doc",
ReadOnly:úlse)
With DocWord.Tables(2)
.Cell(1, 2).Range.InsertAfter nom
.Cell(2, 2).Range.InsertAfter tel
End With
With DocWord.Tables(3)
.Cell(2, 1).Range.InsertAfter ref
.Cell(2, 2).Range.InsertAfter serie
.Cell(2, 3).Range.InsertAfter mabec
.Cell(2, 6).Range.InsertAfter fdd
End With
DocWord.Application.ActiveDocument.SaveAs
Filename:="I:Lha_MaintenanceUet_Plateforme_TechmaterielreparationscontratsschneiderFDD"
& fdd & ".doc"
DocWord.Application.ActiveDocument.PrintOut
'AppWord.Application.Quit savechanges:úlse



End Sub

Private Sub word_siemens()
ref = Saisie_rm.ref_fournisseur.Value
serie = Saisie_rm.num_serie.Value
mabec = Saisie_rm.code_mabec.Value
lha = Saisie_rm.num_suivi.Value
cause = Saisie_rm.cause.Value
coli = Saisie_rm.num_coli.Value

Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Application.DisplayAlerts = True
AppWord.ShowMe
AppWord.Visible = True
Set DocWord =
AppWord.Documents.Open("I:Lha_MaintenanceUet_Plateforme_TechmaterielreparationsFormulaireRMSiemens.doc",
ReadOnly:úlse)
With DocWord.Tables(2)
.Cell(2, 2).Range.InsertAfter lha
.Cell(12, 2).Range.InsertAfter ref
.Cell(13, 2).Range.InsertAfter mabec
.Cell(14, 2).Range.InsertAfter serie
.Cell(16, 1).Range.InsertAfter cause
.Cell(19, 1).Range.InsertAfter coli
End With
DocWord.Application.ActiveDocument.SaveAs
Filename:="I:Lha_MaintenanceUet_Plateforme_Techmaterielsiemens_PEV" &
lha & ".doc"
DocWord.Application.ActiveDocument.PrintOut
'AppWord.Application.Quit savechanges:úlse

End Sub



formulaire ajout_lieu


VERSION 5.00
Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} Ajout_lieu
Caption = "Ajout de Lieu/Robot"
ClientHeight = 5700
ClientLeft = 45
ClientTop = 435
ClientWidth = 8775
OleObjectBlob = "Ajout_lieu.frx":0000
StartUpPosition = 1 'CenterOwner
End
Attribute VB_Name = "Ajout_lieu"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub CommandButton2_Click()

End Sub

Private Sub ajouter_Click()
Worksheets("Lieu").Activate
If (Ajout_lieu.nom = "") Then
MsgBox ("Le champs nom ne peut être vide")
Exit Sub
End If
Range("A1:A1000").Activate
en_colonne = ActiveCell.Column
en_ligne = ActiveCell.Row
While Not IsEmpty(ActiveCell.Value)
Cells(en_ligne, en_colonne).Activate
en_ligne = en_ligne + 1
Wend
With ActiveCell
ActiveCell.FormulaR1C1 = UCase(Ajout_lieu.nom)
Cells(en_ligne - 1, en_colonne + 1).Activate
ActiveCell.FormulaR1C1 = UCase(Ajout_lieu.fournisseur)
End With
If Not [A3] = "" Then
r = "A2:B" & ActiveSheet.UsedRange.Rows.Count
Range(r).Sort _
key1:=Range("B1"), _
key2:=Range("A1")
End If
If Not Saisie_rm.ActiveControl Is Nothing Then
Worksheets("Lieu").Activate
Saisie_rm.lieu.Clear
r = "B2:B" & ActiveSheet.UsedRange.Rows.Count()
For Each Cell In Range(r)
If CStr(Cell.Value) = UCase(Saisie_rm.nom_fournisseur) Then
Cell.Activate
With ActiveCell
Cell(1, 0).Activate
Saisie_rm.lieu.AddItem ActiveCell.Value
End With
End If
Next
Saisie_rm.lieu.Value = UCase(Ajout_lieu.nom)
Unload Ajout_lieu
End If

If Not Modification_saisie.ActiveControl Is Nothing Then
Worksheets("Lieu").Activate
Modification_saisie.lieu.Clear
r = "B2:B" & ActiveSheet.UsedRange.Rows.Count()
For Each Cell In Range(r)
If CStr(Cell.Value) = UCase(Modification_saisie.nom_fournisseur)
Then
Cell.Activate
With ActiveCell
Cell(1, 0).Activate
Modification_saisie.lieu.AddItem ActiveCell.Value
End With
End If
Next
Modification_saisie.lieu.Value = UCase(Ajout_lieu.nom)
Unload Ajout_lieu
End If
End Sub

Private Sub annuler_click()
Unload Ajout_lieu
End Sub


Private Sub UserForm_Click()

End Sub

Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
End Sub

Private Sub UserForm_Terminate()
Application.ScreenUpdating = True
End Sub



A++ et merci encore
"Starwing" a écrit dans le message de news:
%
Bonjour theyankee7620,

Va falloir nous montrer ton code, sinon, ça va être difficile de cerner
ton
problème.

Starwing