Bonjour
Je travaille sur une feuille dont les données sont préalablement entrées par le biais d'un formulaire.
Une fois le formulaire validé celui-ci va copier les données dans la ligne B112 puis appeler l'ouverture
d'une autre macro qui elle a vocation a copier ces données dans le tableau de l'onglet concerné puis dans un fichier situé dans un autre répertoire correspondant au bon numéro d'affaire.
Je souhaite que lors d'un double click sur une cellule que l'on désire modifier un nouveau formulaire s'ouvre avec les données liées à cette cellule et qu'une fois validé il effectue les même action que le formulaire précédent, c'est à dire incrémenter le tableau et la fichier affaire concerné.
Je me suis inspiré de ce que j'ai trouvé sur le net mais pour une raison que j'ignore ça ne marche pas, ça ne daigne même pas me signaler une petit erreur qui pourrait comprendre la source de cette inaction.
Voici mon code:
Merci d'avance pour toutes vos suggestions
Julien
Je travaille sur une feuille dont les données sont préalablement entrées par le biais d'un formulaire.
Une fois le formulaire validé celui-ci va copier les données dans la ligne B112 puis appeler l'ouverture
d'une autre macro qui elle a vocation a copier ces données dans le tableau de l'onglet concerné puis dans un fichier situé dans un autre répertoire correspondant au bon numéro d'affaire.
Je souhaite que lors d'un double click sur une cellule que l'on désire modifier un nouveau formulaire s'ouvre avec les données liées à cette cellule et qu'une fois validé il effectue les même action que le formulaire précédent, c'est à dire incrémenter le tableau et la fichier affaire concerné.
Je me suis inspiré de ce que j'ai trouvé sur le net mais pour une raison que j'ignore ça ne marche pas, ça ne daigne même pas me signaler une petit erreur qui pourrait comprendre la source de cette inaction.
Voici mon code:
Code:
Private Sub Worksheet_beforedoubleclick(ByVal sel As Range, cancel As Boolean)
ModificationMO.Show 'ModificationMO est le nom de mon formulaire de modification
End Sub
____________________________________________________________
Private Sub CommandButton1_Click()
'on teste la saisie numéro d'affaire...
If Me.TextBox7.Text = "" Then
MsgBox "vous devez entrer un numéro d'affaire"
Me.TextBox7.SetFocus
Exit Sub
End If
'on teste la saisie du monteur...
If Me.TextBox10.Text = "" Then
MsgBox "vous devez entrer un monteur"
Me.TextBox10.SetFocus
Exit Sub
End If
'on teste la saisie de la statut...
If Me.TextBox8.Text = "" Then
MsgBox "vous devez entrer le statut"
Me.TextBox8.SetFocus
Exit Sub
End If
'on teste la saisie du numéro de la semaine...
If Me.TextBox9.Text = "" Then
MsgBox "vous devez entrer le numéro de la semaine"
Me.TextBox9.SetFocus
Exit Sub
End If
'on teste la saisie des heures effectuées...
If Me.TextBox5.Text = "" Then
MsgBox "vous devez entrer les heures effectuées"
Me.TextBox5.SetFocus
Exit Sub
End If
'on teste la saisie du flash...
If Me.TextBox6.Text = "" Then
MsgBox "vous devez entrer le flash"
Me.TextBox6.SetFocus
Exit Sub
End If
If Worksheets(ActiveSheet.Name).Cells(6, sel.Column).Value = "HEURES EFFECTUEES" Then
Me.TextBox7.Text = Cells(5, sel.Column).Value 'numéro d'affaire
Me.TextBox10.Text = Cells(3, sel.Column).Value 'monteur
Me.TextBox8.Text = Cells(4, sel.Column).Value 'statut
Me.TextBox9.Text = Cells(sel.Row, B).Value 'n°delasemaine
Me.TextBox5.Text = Cells(sel.Row, sel.Column).Value 'Heureseffectuées
Me.TextBox6.Text = Cells(sel.Row, sel.Column + 1).Value 'flash
End If
If Worksheets(ActiveSheet.Name).Cells(6, sel.Column).Value = "FLASH" Then
Me.TextBox7.Text = Cells(5, sel.Column - 1).Value 'numéro d'affaire
Me.TextBox10.Text = Cells(3, sel.Column - 1).Value 'monteur
Me.TextBox8.Text = Cells(4, sel.Column - 1).Value 'statut
Me.TextBox9.Text = Cells(sel.Row, B).Value 'n°delasemaine
Me.TextBox5.Text = Cells(sel.Row, sel.Column - 1).Value 'Heureseffectuées
Me.TextBox6.Text = Cells(sel.Row, sel.Column).Value 'flash
End If
Monteurconverti = Application.WorksheetFunction.Proper(Me.TextBox10.Text)
'mise en place des données dans la feuille de calcul
Range("B112").Value = Monteurconverti
Range("F112").Value = TextBox9.Text
Range("C112").Value = TextBox7.Text
Range("H112").Value = TextBox8.Text
Range("E112").Value = TextBox5.Text
Range("D112").Value = TextBox6.Text
'on décharge le formulaire
Unload Me 'de cette facon à la prochaine saisie les textbox seront vides à l'ouverture
'on appelle la fonction correspondante, celle qui va incrémenter les données dans le bon fichier
Call Marquer
Exit Sub
Merci d'avance pour toutes vos suggestions
Julien