Sub Test()
Dim DerL&
DerL = Sheets("Coordo").[C:C].Find("*", , xlValues, , xlByRows, xlPrevious).Row
Sheets("Coordo").Cells(DerL, "L").Resize(2, 24).FillDown
End Sub
Private Sub lblValid_Click()
[...] ' on laisse le code présent au dessus
Call lblQuitter_Click
'On actualise la requête
ActiveWorkbook.Connections("Requête - Données").Refresh
Call Test ' <== dernier rajout de bibi ici
Sheets("Planning").Activate
Range("D3").Select
End Sub
Private Sub lblValid_Click()
'Déclaration des variables
Dim LObj As ListObject
Set LObj = Sheets("Data").ListObjects("TAction")
'Test de contrôle du remplissage des différents champs
If Len(Me.txtService) = 0 Then
Me.lblMessage = "Veuillez saisir un service."
Me.txtService.SetFocus
Exit Sub
ElseIf Len(Me.txtProd) = 0 Then
Me.lblMessage = "Veuillez saisir une production."
Me.txtProd.SetFocus
Exit Sub
ElseIf Len(Me.txtAction) = 0 Then
Me.lblMessage = "Veuillez saisir une action."
Me.txtAction.SetFocus
Exit Sub
ElseIf Len(Me.txtDateDebut) = 0 Then
Me.lblMessage = "Veuillez saisir le début de l'action."
Me.txtDateDebut.SetFocus
Exit Sub
ElseIf Len(Me.txtDateFin) = 0 Then
Me.lblMessage = "Veuillez saisir la fin de l'action."
Me.txtDateFin.SetFocus
Exit Sub
Else
'////////////////////////////////Modif à la Staple
'Si tous les champs sont remplis, on enregistre les données du formulaire dans la base
LObj.ListRows.Add.Range.Item(1).Resize(, 5) = _
Array(txtService, txtProd, txtAction, CDate(txtDateDebut), CDate(txtDateFin))
'//////////////////////////Fin modifs à la Staple ////////////////////////////////////
'On vide le formulaire
Call lblEffacer_Click
'On ferme le formulaire
Call lblQuitter_Click
'On actualise la requête
ActiveWorkbook.Connections("Requête - Données").Refresh
Sheets("Planning").Activate
Range("D3").Select
End If
End Sub
Private Sub lblValid_Click()
'Déclaration des variables
Dim LObj As ListObject, DerL&
Set LObj = Sheets("Data").ListObjects("TAction")
'Test de contrôle du remplissage des différents champs
If Len(Me.txtService) = 0 Then
Me.lblMessage = "Veuillez saisir un service."
Me.txtService.SetFocus
Exit Sub
ElseIf Len(Me.txtProd) = 0 Then
Me.lblMessage = "Veuillez saisir une production."
Me.txtProd.SetFocus
Exit Sub
ElseIf Len(Me.txtAction) = 0 Then
Me.lblMessage = "Veuillez saisir une action."
Me.txtAction.SetFocus
Exit Sub
ElseIf Len(Me.txtDateDebut) = 0 Then
Me.lblMessage = "Veuillez saisir le début de l'action."
Me.txtDateDebut.SetFocus
Exit Sub
ElseIf Len(Me.txtDateFin) = 0 Then
Me.lblMessage = "Veuillez saisir la fin de l'action."
Me.txtDateFin.SetFocus
Exit Sub
Else
'////////////////////////////////Modif à la Staple (a)
'Si tous les champs sont remplis, on enregistre les données du formulaire dans la base
LObj.ListRows.Add.Range.Item(1).Resize(, 5) = _
Array(txtService, txtProd, txtAction, CDate(txtDateDebut), CDate(txtDateFin))
'//////////////////////////Fin modifs à la Staple ////////////////////////////////////
'On vide le formulaire
Call lblEffacer_Click
'On ferme le formulaire
Call lblQuitter_Click
'On actualise la requête
ActiveWorkbook.Connections("Requête - Données").Refresh
'///////////////// Modif Staple (b) ////////////////////////////////////////////////////////
DerL = Sheets("Coordo").[C:C].Find("*", , xlValues, , xlByRows, xlPrevious).Row
Sheets("Coordo").Cells(DerL, "L").Resize(2, 24).FillDown
'/////////////////////////////////////////////////////////////////////////////////////
Sheets("Planning").Activate
Range("D3").Select
End If
End Sub
Private Sub lblValid_Click()
'Déclaration des variables
Dim LObj As ListObject, DerL&, ctrl As Control, k
Set LObj = Sheets("Data").ListObjects("TAction")
'Test de contrôle du remplissage des différents champs
For Each ctrl In Me.Controls
If TypeName(ctrl) = "TextBox" Then
If ctrl.Text = Empty Then
ctrl.SetFocus
Exit For
End If
k = k + 1
End If
Next ctrl
If k = 5 Then
'////////////////////////////////Modif à la Staple (a)
' Si tous les champs sont remplis, on enregistre les données du formulaire dans la base
LObj.ListRows.Add.Range.Item(1).Resize(, 5) = _
Array(txtService, txtProd, txtAction, CDate(txtDateDebut), CDate(txtDateFin))
'//////////////////////////Fin modifs à la Staple ////////////////////////////////////
' On vide le formulaire
Call lblEffacer_Click
'On ferme le formulaire
Call lblQuitter_Click
'On actualise la requête
ActiveWorkbook.Connections("Requête - Données").Refresh
'///////////////// Modif Staple (b) ////////////////////////////////////////////////////////
DerL = Sheets("Coordo").[C:C].Find("*", , xlValues, , xlByRows, xlPrevious).Row
Sheets("Coordo").Cells(DerL, "L").Resize(2, 24).FillDown
'/////////////////////////////////////////////////////////////////////////////////////
Sheets("Planning").Activate: Range("D3").Select
End If
End Sub
Private Sub lblValid_Click()
'Déclaration des variables
Dim LObj As ListObject, DerL&, ctrl As Control, k
Set LObj = Sheets("Data").ListObjects("TAction")
'Test de contrôle du remplissage des différents champs
For Each ctrl In Me.Controls
If TypeName(ctrl) = "TextBox" Then
If ctrl.Text = Empty Then
ctrl.SetFocus
Exit For
End If
k = k + 1
End If
Next ctrl
If k = 5 Then
'////////////////////////////////Modif à la Staple (a)
' Si tous les champs sont remplis, on enregistre les données du formulaire dans la base
LObj.ListRows.Add.Range.Item(1).Resize(, 5) = _
Array(txtService, txtProd, txtAction, CDate(txtDateDebut), CDate(txtDateFin))
'//////////////////////////Fin modifs à la Staple ////////////////////////////////////
' On vide le formulaire
Call lblEffacer_Click
'On ferme le formulaire
Call lblQuitter_Click
'On actualise la requête
ThisWorkbook.RefreshAll
'///////////////// Modif Staple (b) ////////////////////////////////////////////////////////
DerL = Sheets("Coordo").[C:C].Find("*", , xlValues, , xlByRows, xlPrevious).Row
Sheets("Coordo").Cells(DerL, "L").Resize(2, 24).FillDown
'/////////////////////////////////////////////////////////////////////////////////////
Sheets("Planning").Activate: Range("D3").Select
End If
End Sub
Sub Insérer_et_Recopier()
Dim L_Obj As ListObject, rng As Range, nomTAB$, vArr, oNewRow As ListRow
Set rng = ActiveCell
On Error GoTo To_Go
nomTAB = rng.ListObject.Name
Set L_Obj = ActiveSheet.ListObjects(nomTAB)
On Error GoTo 0
vArr = L_Obj.ListRows(rng.Row - 1).Range.Value2
Set oNewRow = L_Obj.ListRows.Add(rng.Row)
oNewRow.Range = vArr
Exit Sub
To_Go:
MsgBox "Cellule active hors du tableau!", vbCritical
End Sub
Sub CreaTEST()
[A1] = "ITEM_1": Cells(1).AutoFill Destination:=Range("A1:E1"), Type:=xlFillDefault
[A2:E20] = "=ADDRESS(ROW(),COLUMN(),4)": [A2:E20] = [A2:E20].Value
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$E$20"), , xlYes).Name = "Staple"
End Sub
Pour ce faire, il eut fallut ne point supprimer tes messagesmême si je pourrai apporter mon droit de réponse sur cette notion de "légitimité"
let
Source = Excel.CurrentWorkbook(){[Name="TAction"]}[Content],
#"Type modifié" = Table.TransformColumnTypes(Source,{{"Service", type text}, {"Produit", type text}, {"Actions", type text}, {"Date début", type date}, {"Date fin", type date}}),
#"Colonnes permutées" = Table.ReorderColumns(#"Type modifié",{"Service", "Produit", "Actions", "Date début", "Date fin"}),
#"Soustraction de la date d'insertion" = Table.AddColumn(#"Colonnes permutées", "Durée", each Duration.Days([Date fin] - [Date début])+1),
#"Personnalisée ajoutée" = Table.AddColumn(#"Soustraction de la date d'insertion", "Date jour", each DateTime.LocalNow()),
#"Type modifié1" = Table.TransformColumnTypes(#"Personnalisée ajoutée",{{"Date jour", type date}}),
#"Colonne conditionnelle ajoutée" = Table.AddColumn(#"Type modifié1", "Fin-Jour", each if [Date fin] >= [Date jour] then Duration.Days([Date fin]-[Date jour])+1 else null),
#"Colonne conditionnelle ajoutée1" = Table.AddColumn(#"Colonne conditionnelle ajoutée", "Solde jours", each if [Date début] >= [Date jour] then [Durée] else if [Date fin] >= [Date jour] then [#"Fin-Jour"] else 0),
#"Colonnes supprimées" = Table.RemoveColumns(#"Colonne conditionnelle ajoutée1",{"Date jour", "Fin-Jour"}),
#"Personnalisée ajoutée1" = Table.AddColumn(#"Colonnes supprimées", "Personnalisé", each [Durée]-[Solde jours]),
#"Personnalisée ajoutée2" = Table.AddColumn(#"Personnalisée ajoutée1", "% réalisé", each [Personnalisé]/[Durée]),
#"Type modifié2" = Table.TransformColumnTypes(#"Personnalisée ajoutée2",{{"% réalisé", Percentage.Type}}),
#"Colonnes supprimées1" = Table.RemoveColumns(#"Type modifié2",{"Personnalisé"}),
#"Semaine de l'année insérée" = Table.AddColumn(#"Colonnes supprimées1", "N° Sem.", each Date.WeekOfYear([Date début]), Int64.Type),
#"Index ajouté" = Table.AddIndexColumn(#"Semaine de l'année insérée", "Index", 1, 1),
#"Lignes triées" = Table.Sort(#"Index ajouté",{{"Service", Order.Ascending}, {"Index", Order.Ascending}}),
#"Colonnes supprimées2" = Table.RemoveColumns(#"Lignes triées",{"Index"}),
#"Duplication de la colonne" = Table.DuplicateColumn(#"Colonnes supprimées2", "N° Sem.", "N° Sem. - Copier"),
#"Colonnes supprimées3" = Table.RemoveColumns(#"Duplication de la colonne",{"N° Sem. - Copier"})
in
#"Colonnes supprimées3"
[/SPOILER]