Bonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub
Bonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub
Bonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub
Ça va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de code à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemple.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bonne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
TrirèmeBonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub
Ça va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de code à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemple.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bonne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
Trirème
Bonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub
Ça va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de code à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemple.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bonne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
TrirèmeBonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub
Dans une procédure il est préférable de définir ses variables par une
instruction DIM. Ce que tu as l'air de faire (en partie).
Concernant la bribe de code que j'ai fournie. Ajoute ceci au début :
Dim Nlot_Mp As String, Z_Fab_date As String
Dim DateFab As Date, AnnéeFab As Integer
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
Et remplace :
If sh = Empty Then
par :
If sh Is Nothing Then
J'espère que les coupures de ligne intempestives ne te perturbent pas.
Cordialement,
TrirèmeÇa va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de c ode à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemple.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bonne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
TrirèmeBonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Dans une procédure il est préférable de définir ses variables par une
instruction DIM. Ce que tu as l'air de faire (en partie).
Concernant la bribe de code que j'ai fournie. Ajoute ceci au début :
Dim Nlot_Mp As String, Z_Fab_date As String
Dim DateFab As Date, AnnéeFab As Integer
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
Et remplace :
If sh = Empty Then
par :
If sh Is Nothing Then
J'espère que les coupures de ligne intempestives ne te perturbent pas.
Cordialement,
Trirème
Ça va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de c ode à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemple.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bonne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
Trirème
Bonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Dans une procédure il est préférable de définir ses variables par une
instruction DIM. Ce que tu as l'air de faire (en partie).
Concernant la bribe de code que j'ai fournie. Ajoute ceci au début :
Dim Nlot_Mp As String, Z_Fab_date As String
Dim DateFab As Date, AnnéeFab As Integer
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
Et remplace :
If sh = Empty Then
par :
If sh Is Nothing Then
J'espère que les coupures de ligne intempestives ne te perturbent pas.
Cordialement,
TrirèmeÇa va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de c ode à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemple.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bonne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
TrirèmeBonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
On 4 sep, 14:38, Trirème wrote:Dans une procédure il est préférable de définir ses variables par une
instruction DIM. Ce que tu as l'air de faire (en partie).
Concernant la bribe de code que j'ai fournie. Ajoute ceci au début :
Dim Nlot_Mp As String, Z_Fab_date As String
Dim DateFab As Date, AnnéeFab As Integer
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
Et remplace :
If sh = Empty Then
par :
If sh Is Nothing Then
J'espère que les coupures de ligne intempestives ne te perturbent pas.
Cordialement,
TrirèmeÇa va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de code à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemple.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bonne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
TrirèmeBonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci Trième pour ton aide,
j'ai ce problème lors de l'exécution du programe
Erreur d'exécution '1004'
Impossible de renommer une feuille comme une autre, une bibiliothèque
d'objet ou un classeur référencé par visuel basic.
lorsque la Feuille 1 est nommée feuil "par un text" ou autre chose que
"yyyy", il y a application du programme et création d'une feuille
nommée "yyyy", lors d'une 2ème entrée, il y a erreur "1004". et
création d'une feuille nommée "Feuil1". et dans le code pour débogage
la ligne suivante est séléctionnée
ActiveSheet.Name = AnnéeFab
c'est exactement ce que j'avais avec mon programme.
en résumé: nos deux programmes rajoutent une nouvelle feuille à chaque
entrée si la condition "yyyy1"# ""yyyy2"
merci
On 4 sep, 14:38, Trirème <No...@EvryOuer.fr> wrote:
Dans une procédure il est préférable de définir ses variables par une
instruction DIM. Ce que tu as l'air de faire (en partie).
Concernant la bribe de code que j'ai fournie. Ajoute ceci au début :
Dim Nlot_Mp As String, Z_Fab_date As String
Dim DateFab As Date, AnnéeFab As Integer
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
Et remplace :
If sh = Empty Then
par :
If sh Is Nothing Then
J'espère que les coupures de ligne intempestives ne te perturbent pas.
Cordialement,
Trirème
Ça va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de code à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemple.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bonne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
Trirème
Bonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci Trième pour ton aide,
j'ai ce problème lors de l'exécution du programe
Erreur d'exécution '1004'
Impossible de renommer une feuille comme une autre, une bibiliothèque
d'objet ou un classeur référencé par visuel basic.
lorsque la Feuille 1 est nommée feuil "par un text" ou autre chose que
"yyyy", il y a application du programme et création d'une feuille
nommée "yyyy", lors d'une 2ème entrée, il y a erreur "1004". et
création d'une feuille nommée "Feuil1". et dans le code pour débogage
la ligne suivante est séléctionnée
ActiveSheet.Name = AnnéeFab
c'est exactement ce que j'avais avec mon programme.
en résumé: nos deux programmes rajoutent une nouvelle feuille à chaque
entrée si la condition "yyyy1"# ""yyyy2"
merci
On 4 sep, 14:38, Trirème wrote:Dans une procédure il est préférable de définir ses variables par une
instruction DIM. Ce que tu as l'air de faire (en partie).
Concernant la bribe de code que j'ai fournie. Ajoute ceci au début :
Dim Nlot_Mp As String, Z_Fab_date As String
Dim DateFab As Date, AnnéeFab As Integer
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
Et remplace :
If sh = Empty Then
par :
If sh Is Nothing Then
J'espère que les coupures de ligne intempestives ne te perturbent pas.
Cordialement,
TrirèmeÇa va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de code à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemple.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bonne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
TrirèmeBonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qui va
rajouter automatiquement une nouvelle feuile nommée "2008" - pour
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2008 il faut
que les données soient entrée dans la feuille de calcule actuelle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci Trième pour ton aide,
j'ai ce problème lors de l'exécution du programe
Erreur d'exécution '1004'
Impossible de renommer une feuille comme une autre, une bibiliothèque
d'objet ou un classeur référencé par visuel basic.
lorsque la Feuille 1 est nommée feuil "par un text" ou autre chose que
"yyyy", il y a application du programme et création d'une feuille
nommée "yyyy", lors d'une 2ème entrée, il y a erreur "1004". et
création d'une feuille nommée "Feuil1". et dans le code pour débogage
la ligne suivante est séléctionnée
ActiveSheet.Name = AnnéeFab
c'est exactement ce que j'avais avec mon programme.
en résumé: nos deux programmes rajoutent une nouvelle feuille à chaque
entrée si la condition "yyyy1"# ""yyyy2"
merci
Bonjour Zimou
La contrepartie des déclarations de variable, c'est qu'il faut être
rigoureux quand on les utilise.
Il faut déclarer 'AnnéeFab' en String et non pas en Integer, comme ce ci :
Dim DateFab As Date, AnnéeFab As String
Sans rien changer d'autre.
Le Sheet.Name doit être du texte et l'erreur venait de :
Set sh = Worksheets(AnnéeFab). À la 2ème exécution sh valait to ujours
Nothing non pas à cause d'une non-existence, mais à cause d'une erreu r de
type.
S'cuze pour ce contretemps.
Je te laisse contrôler les données fournies par les utilisateurs (mau vaise
date, entre autre)
Cordialement,
TrirèmeOn 4 sep, 14:38, Trirème wrote:Dans une procédure il est préférable de définir ses variables par une
instruction DIM. Ce que tu as l'air de faire (en partie).
Concernant la bribe de code que j'ai fournie. Ajoute ceci au début :
Dim Nlot_Mp As String, Z_Fab_date As String
Dim DateFab As Date, AnnéeFab As Integer
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
Et remplace :
If sh = Empty Then
par :
If sh Is Nothing Then
J'espère que les coupures de ligne intempestives ne te perturbent p as.
Cordialement,
TrirèmeÇa va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de code à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemp le.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, p rend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bo nne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
TrirèmeBonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qu i va
rajouter automatiquement une nouvelle feuile nommée "2008" - po ur
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2 008 il faut
que les données soient entrée dans la feuille de calcule actu elle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci Trième pour ton aide,
j'ai ce problème lors de l'exécution du programe
Erreur d'exécution '1004'
Impossible de renommer une feuille comme une autre, une bibiliothèque
d'objet ou un classeur référencé par visuel basic.
lorsque la Feuille 1 est nommée feuil "par un text" ou autre chose que
"yyyy", il y a application du programme et création d'une feuille
nommée "yyyy", lors d'une 2ème entrée, il y a erreur "1004". et
création d'une feuille nommée "Feuil1". et dans le code pour débo gage
la ligne suivante est séléctionnée
ActiveSheet.Name = AnnéeFab
c'est exactement ce que j'avais avec mon programme.
en résumé: nos deux programmes rajoutent une nouvelle feuille à c haque
entrée si la condition "yyyy1"# ""yyyy2"
merci- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Salut Trième
Bonjour Zimou
La contrepartie des déclarations de variable, c'est qu'il faut être
rigoureux quand on les utilise.
Il faut déclarer 'AnnéeFab' en String et non pas en Integer, comme ce ci :
Dim DateFab As Date, AnnéeFab As String
Sans rien changer d'autre.
Le Sheet.Name doit être du texte et l'erreur venait de :
Set sh = Worksheets(AnnéeFab). À la 2ème exécution sh valait to ujours
Nothing non pas à cause d'une non-existence, mais à cause d'une erreu r de
type.
S'cuze pour ce contretemps.
Je te laisse contrôler les données fournies par les utilisateurs (mau vaise
date, entre autre)
Cordialement,
Trirème
On 4 sep, 14:38, Trirème <No...@EvryOuer.fr> wrote:
Dans une procédure il est préférable de définir ses variables par une
instruction DIM. Ce que tu as l'air de faire (en partie).
Concernant la bribe de code que j'ai fournie. Ajoute ceci au début :
Dim Nlot_Mp As String, Z_Fab_date As String
Dim DateFab As Date, AnnéeFab As Integer
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
Et remplace :
If sh = Empty Then
par :
If sh Is Nothing Then
J'espère que les coupures de ligne intempestives ne te perturbent p as.
Cordialement,
Trirème
Ça va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de code à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemp le.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, p rend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bo nne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
Trirème
Bonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qu i va
rajouter automatiquement une nouvelle feuile nommée "2008" - po ur
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2 008 il faut
que les données soient entrée dans la feuille de calcule actu elle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci Trième pour ton aide,
j'ai ce problème lors de l'exécution du programe
Erreur d'exécution '1004'
Impossible de renommer une feuille comme une autre, une bibiliothèque
d'objet ou un classeur référencé par visuel basic.
lorsque la Feuille 1 est nommée feuil "par un text" ou autre chose que
"yyyy", il y a application du programme et création d'une feuille
nommée "yyyy", lors d'une 2ème entrée, il y a erreur "1004". et
création d'une feuille nommée "Feuil1". et dans le code pour débo gage
la ligne suivante est séléctionnée
ActiveSheet.Name = AnnéeFab
c'est exactement ce que j'avais avec mon programme.
en résumé: nos deux programmes rajoutent une nouvelle feuille à c haque
entrée si la condition "yyyy1"# ""yyyy2"
merci- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Salut Trième
Bonjour Zimou
La contrepartie des déclarations de variable, c'est qu'il faut être
rigoureux quand on les utilise.
Il faut déclarer 'AnnéeFab' en String et non pas en Integer, comme ce ci :
Dim DateFab As Date, AnnéeFab As String
Sans rien changer d'autre.
Le Sheet.Name doit être du texte et l'erreur venait de :
Set sh = Worksheets(AnnéeFab). À la 2ème exécution sh valait to ujours
Nothing non pas à cause d'une non-existence, mais à cause d'une erreu r de
type.
S'cuze pour ce contretemps.
Je te laisse contrôler les données fournies par les utilisateurs (mau vaise
date, entre autre)
Cordialement,
TrirèmeOn 4 sep, 14:38, Trirème wrote:Dans une procédure il est préférable de définir ses variables par une
instruction DIM. Ce que tu as l'air de faire (en partie).
Concernant la bribe de code que j'ai fournie. Ajoute ceci au début :
Dim Nlot_Mp As String, Z_Fab_date As String
Dim DateFab As Date, AnnéeFab As Integer
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
Et remplace :
If sh = Empty Then
par :
If sh Is Nothing Then
J'espère que les coupures de ligne intempestives ne te perturbent p as.
Cordialement,
TrirèmeÇa va Zimou ?
Si j'ai bien compris la question, tu pourras adapter ce petit bout de code à
ton cas :
Sub remplir()
' *********** phase de saisie ****************
' Ici les infos sont récupérées par des InputBox pour l'exemp le.
' On peut aussi utiliser un UserForm
Nlot_Mp = InputBox("N° Lot :")
'...
' ********************************************
Z_Fab_date = InputBox("Date de fabrication")
DateFab = CDate(Z_Fab_date)
AnnéeFab = Year(DateFab)
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, p rend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh = Empty Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
'...
' *********** recopie des valeurs dans les bonnes cellules de la bo nne
feuille.
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
' ...
Range("C" & Ligne) = DateFab
' *******************************************
End Sub
Cordialement,
TrirèmeBonjour,
j'ai besoin de votre précieuse aide pour réaliser ma macro qu i va
rajouter automatiquement une nouvelle feuile nommée "2008" - po ur
2008- et y insérer les données, mais avec 2 conditions:
1 il fau que la date entrée en Z_Fab_date.Value soit en C soit de
l'année exp. 2008, et que la dte système now() soit 2008.
la procédure en bas crée une feuille et la nomme 2008 mais
malheuresement à chaque clic sur Ok.
si l'année entrée en Z_Fab_date.Value est 2007 et Now() = 2 008 il faut
que les données soient entrée dans la feuille de calcule actu elle ou
2007.
Merci d'avance.
amicalement
Zimou
Sub Ajouter_Click()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp.Value
Range("B" & Ligne) = Z_N_Lot.Value
Range("C" & Ligne) = CDate(Z_Fab_date.Value)
Range("D" & Ligne) = CDate(Z_Date_Lib.Value)
Range("E" & Ligne) = Z_Quantite.Value
Range("G" & Ligne) = Z_delitement.Value
Range("F" & Ligne) = Z_Dissolution.Value
Range("H" & Ligne) = Z_Humidite.Value
Range("I" & Ligne) = Z_PM75.Value
Range("J" & Ligne) = Z_PM_n7.Value
Range("K" & Ligne) = Z_dos.Value
If Z_Fab_date < ("01/01/2008") And Now() = "2008" Then
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(Now(), "yyyy")
End If
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci Trième pour ton aide,
j'ai ce problème lors de l'exécution du programe
Erreur d'exécution '1004'
Impossible de renommer une feuille comme une autre, une bibiliothèque
d'objet ou un classeur référencé par visuel basic.
lorsque la Feuille 1 est nommée feuil "par un text" ou autre chose que
"yyyy", il y a application du programme et création d'une feuille
nommée "yyyy", lors d'une 2ème entrée, il y a erreur "1004". et
création d'une feuille nommée "Feuil1". et dans le code pour débo gage
la ligne suivante est séléctionnée
ActiveSheet.Name = AnnéeFab
c'est exactement ce que j'avais avec mon programme.
en résumé: nos deux programmes rajoutent une nouvelle feuille à c haque
entrée si la condition "yyyy1"# ""yyyy2"
merci- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Salut Trième
Salut Trirème
j'ai essayé la modification mais sans résultat toujours le même code
d'erreur 1004.
voilà le code complet pour détecter une éventuelle erreur
Sub Ajouter_Click()
Dim Nlot_Mp As String, Z_Fab_date As Date
Dim DateFab As Date, AnnéeFab As String
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n 'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh Is Nothing Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
With sh
Range("A1") = "N° lot MP"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("B1") = "N° de lot PF"
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
.Color = vert
End With
Range("C1") = "Date de Fab."
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("D1") = "Date d'exp."
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("E1") = "Quantité"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("G1") = "Délitement"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("F1") = "Dissolution"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("H1") = "Humidité"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("I1") = "PM+7,5%"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("J1") = "PM - 7,5%"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("K1") = "Dosage"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
End With
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
Range("B" & Ligne) = Z_N_Lot
Range("C" & Ligne) = CDate(Z_Fab_date)
Range("D" & Ligne) = CDate(Z_Date_Lib)
Range("E" & Ligne) = Z_Quantite
Range("G" & Ligne) = Z_delitement
Range("F" & Ligne) = Z_Dissolution
Range("H" & Ligne) = Z_Humidite
Range("I" & Ligne) = Z_PM75
Range("J" & Ligne) = Z_PM_n7
Range("K" & Ligne) = Z_dos
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub
Salut Trirème
j'ai essayé la modification mais sans résultat toujours le même code
d'erreur 1004.
voilà le code complet pour détecter une éventuelle erreur
Sub Ajouter_Click()
Dim Nlot_Mp As String, Z_Fab_date As Date
Dim DateFab As Date, AnnéeFab As String
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n 'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh Is Nothing Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
With sh
Range("A1") = "N° lot MP"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("B1") = "N° de lot PF"
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
.Color = vert
End With
Range("C1") = "Date de Fab."
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("D1") = "Date d'exp."
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("E1") = "Quantité"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("G1") = "Délitement"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("F1") = "Dissolution"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("H1") = "Humidité"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("I1") = "PM+7,5%"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("J1") = "PM - 7,5%"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("K1") = "Dosage"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
End With
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
Range("B" & Ligne) = Z_N_Lot
Range("C" & Ligne) = CDate(Z_Fab_date)
Range("D" & Ligne) = CDate(Z_Date_Lib)
Range("E" & Ligne) = Z_Quantite
Range("G" & Ligne) = Z_delitement
Range("F" & Ligne) = Z_Dissolution
Range("H" & Ligne) = Z_Humidite
Range("I" & Ligne) = Z_PM75
Range("J" & Ligne) = Z_PM_n7
Range("K" & Ligne) = Z_dos
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub
Salut Trirème
j'ai essayé la modification mais sans résultat toujours le même code
d'erreur 1004.
voilà le code complet pour détecter une éventuelle erreur
Sub Ajouter_Click()
Dim Nlot_Mp As String, Z_Fab_date As Date
Dim DateFab As Date, AnnéeFab As String
Dim sh As Worksheet ' Initialise implicitement l'objet à 'Nothing'
Dim Ligne As Long
On Error Resume Next ' la ligne suivante provoque une erreur si la
feuille n 'existe pas
Set sh = Worksheets(AnnéeFab) ' si la feuille n'existe pas, prend la
valeur 'Empty'
On Error GoTo 0 ' Réinitialise le gestionnaire d'erreurs
If sh Is Nothing Then ' La première fois la feuille est créée
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = AnnéeFab
Else ' Les fois suivantes la feuille est activée
Sheets(AnnéeFab).Activate
End If
With sh
Range("A1") = "N° lot MP"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("B1") = "N° de lot PF"
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
.Color = vert
End With
Range("C1") = "Date de Fab."
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("D1") = "Date d'exp."
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("E1") = "Quantité"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("G1") = "Délitement"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("F1") = "Dissolution"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("H1") = "Humidité"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("I1") = "PM+7,5%"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("J1") = "PM - 7,5%"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
Range("K1") = "Dosage"
With Selection.Interior
.ColorIndex = 2
With Selection.Font
.Bold = True
.Italic = True
.Name = "ariel"
.Size = 10
End With
End With
End With
Ligne = Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne) = Nlot_Mp
Range("B" & Ligne) = Z_N_Lot
Range("C" & Ligne) = CDate(Z_Fab_date)
Range("D" & Ligne) = CDate(Z_Date_Lib)
Range("E" & Ligne) = Z_Quantite
Range("G" & Ligne) = Z_delitement
Range("F" & Ligne) = Z_Dissolution
Range("H" & Ligne) = Z_Humidite
Range("I" & Ligne) = Z_PM75
Range("J" & Ligne) = Z_PM_n7
Range("K" & Ligne) = Z_dos
With Saisir_nouveau_lot
.Z_N_Lot.Text = ""
.Z_Fab_date.Text = Format(Now(), "dd/mm/yy")
.Z_Date_Lib.Text = ""
.Z_Quantite.Text = ""
.Z_delitement.Text = ""
.Z_Dissolution.Text = ""
.Z_Humidite.Text = ""
.Z_PM75.Text = ""
.Z_PM_n7.Text = ""
.Z_dos.Text = ""
.Nlot_Mp.Text = ""
End With
End Sub