Renvoi de données à partir d'une liste déroulante dynamique
Bonjour ,
gros probleme, mon but que a partir d'une feuille référence(une base de donnée) , j'ai un tableau comme ci-dessous:
Donc dans une autre feuille nommée k , j'ai un tableau ou on va renseigner le mesure et automatiquement l'outil sera rempli donc j'ai utilisé la liste nom puis rechercheV mais ca fonctionne pas (lorsque je changer nom mesure , il affiche toujours l'outil de l'ancien mesure. Exemple : je mets temps il me laisse l'outil= a ou lieu de mettre horloge ) je comprends pas le problème donc j'ai besoin d'aide et est ce que c'est possible de programmer ça avec vba sachant que ma page la tableau peut être varier et j'ai des autres tableau en dessus et des champs a remplir
Aussi comment a partir d'une page en renseigner des champs par exemple dans ma page d'accueil : groupe , poste etc... Les mêmes champs aussi a renseigner dans des autres pages , pour gagner de temps je dois automatiser ça de tel sort dès que ces sont remplis dans la page d'accueil , seront aussi remplis dans les autres pages d'une façon automatique
Merci de m'aider sur ce sujet.
Voilà mon classeur ,
Bonjour Nad89,
la pièce jointe est vide, c'est dommage, ça nous aurait bien aidé...
Voila un autre fichier , j'ai supprimé les deux modules pour que le fichier soit d'un taille moyen puisque je suis limité au niveau taille
Sub Ouvrir_Cliquer()
'Dim Feuille As Worksheet
' Dim ArrFeuilles 'tableau des feuilles visibles
' Dim Idx As Long
' ReDim ArrFeuilles(0)
' For Each Feuille In ThisWorkbook.Worksheets
' If Feuille.Visible = True Then
' ReDim Preserve ArrFeuilles(Idx)
' ' ArrFeuilles(Idx) = Feuille.Name
' Idx = Idx + 1
' End If
' Next
' Sheets(ArrFeuilles).Copy
'il reste à déterminer ce que tu veux faire de la copie de feuilles
'Tu peux enregistrer le nouveau classeur qui contient ces feuilles
' ActiveWorkbook.SaveAs " Chemin et nom du nouveau fichier avec extension"
' ActiveWorkbook.Close False
'......................
'Workbooks("Chemin et nom du nouveau fichier avec extension").Close
'Sans page sommaire
' Dim Feuille As Worksheet
' Dim ArrFeuilles 'tableau des feuilles visibles
'Dim Idx As Long
' ReDim ArrFeuilles(0)
'For Each Feuille In ThisWorkbook.Worksheets
' If Feuille.Visible = True And Feuille.Name <> "Sommaire" Then
' ReDim Preserve ArrFeuilles(Idx)
' ArrFeuilles(Idx) = Feuille.Name
' Idx = Idx + 1
' End If
' Next
'Sheets(ArrFeuilles).Copy
'il reste à déterminer ce que tu veux faire de la copie de feuilles
'Tu peux enregistrer le nouveau classeur qui contient ces feuilles
' ActiveWorkbook.SaveAs "Chemin et nom du nouveau fichier avec extension"
' ActiveWorkbook.Close False
End Sub
Sub Execution()
Dim chemin As String
Dim MyDate As String
Dim sNomfichier As String
MyDate = Format(Now(), "dd-mm-yy")
chemin = ThisWorkbook.Path
sNomfichier = RenommerFichier(chemin, "Préparation de Travail " & "-" & MyDate & ".xlsb")
ThisWorkbook.SaveCopyAs Filename:=sNomfichier
' Workbooks("BPC").Close
ActiveWorkbook.Close True
End Sub
Private Function RenommerFichier(sDossier As String, sNomfichier As String) As String
Dim sNouveauNom As String
Dim sPre As String, sExt As String
Dim i As Long
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(sDossier & "\" & sNomfichier) Then
sNouveauNom = sNomfichier
sPre = FSO.GetBaseName(sNomfichier)
sExt = FSO.GetExtensionName(sNomfichier)
i = 0
While FSO.FileExists(sDossier & "\" & sNouveauNom)
i = i + 1
sNouveauNom = sPre & Chr(40) & Format(i, "000") & Chr(41) & Chr(46) & sExt
Wend
sNomfichier = sNouveauNom
End If
Set FSO = Nothing
RenommerFichier = sDossier & "\" & sNomfichier
End Function
Sub IST()
Sheets("IST").Visible = True
Sheets("IST").Select
End Sub
Sub ISP_Cliquer()
Sheets("ISP").Visible = True
Sheets("ISP").Select
End Sub
Sub BesoinNacelle_Cliquer()
Sheets("besoin Nacelle").Visible = True
Sheets("besoin Nacelle").Select
End Sub
Sub besoinEchafaudage_Cliquer()
Sheets("besoin Echafaudage").Visible = True
Sheets("besoin Echafaudage").Select
End Sub
Sub besoinGrue_Cliquer()
Sheets("besoin Grue").Visible = True
Sheets("besoin Grue").Select
End Sub
'Sub bilanSF6Chantier_Cliquer()
'Sheets("bilan SF6 Chantier").Visible = True
'Sheets("bilan SF6 Chantier").Select
'Dim nbLignes As Long
'With Sheets("Dossier chantier postes hors T")
' nbLignes = .Cells(.Rows.Count, "A").End(xlUp).Row + 1 'la première ligne vide en colonne A
' .Range("A" & nbLignes) = nbLignes - 1 'numéro si l'entête est en ligne 1
'.Range("B" & nbLignes) = "bilan SF6 Chantier"
'End With
'End Sub
Sub bilanSF6Chantier_Cliquer()
Dim Recherche As Range
Sheets("bilan SF6 Chantier").Visible = True
Sheets("bilan SF6 Chantier").Select
With Sheets("Dossier chantier postes hors T")
Set Recherche = .Columns("B").Find("LIBELLE", LookIn:=xlValues, LookAt:=xlWhole)
If Not Recherche Is Nothing Then
.Rows(Recherche.Row + 1).Insert
.Range("A" & Recherche.Row + 1) = 1 'pas certain du numéro que tu veux mettre
.Range("B" & Recherche.Row + 1) = "SF6" 'ni du nom
End If
End With
Set Recherche = Nothing
End Sub
Bonjour Nad889,
J'ai téléchargé les deux fichiers, ce sont deux exemplaires du même fichier "Préparation de travail.xlsb" dans lesquels il n'y a pas de feuille K il y a les feuilles suivantes, sans feuille masquée:
- SOMMAIRE
- Dossier chantier postes hors T
- ref
- bilan SF6 Chantier
Le fichier ne correspond pas à votre description
c'est une erreur de ma part la feuille est bien nommée dossier chantier hors T , après je trouvé une solution
=DECALER('les postes'!$A$2;1;EQUIV(SOMMAIRE!$D$15;'les postes'!$1:$1;0)-1;NBVAL(DECALER('les postes'!$A$3:$A$1000;;EQUIV(SOMMAIRE!$D$15;'les postes'!$1:$1;0))))