Suivie de documents - obtention données - automatisme nouvelle feuilles
Bonjour.
Contexte : Dans le cadre d'une thèse, je reçoit des documents de différentes personnes que je dois analysé. Ces documents sont trié en dossiers par personnes puis en sous-dossiers. Dans le documents joint je n'ai pas fait de sous-dossiers mais ai utiliser la même technique d'affichage que sur mon document d'origine.
Je cherche :
- La création automatique d'une feuille par personne.
- j'ai essayé avec une macro mais cela n'a pas abouti – j'ai tenté deux méthodes avec code VBA, voir ci-dessous.
- Manuellement en faisant une fonction filtre. Cela ne prend pas trop de temps et me convient
- j'ai essayé avec une macro mais cela n'a pas abouti – j'ai tenté deux méthodes avec code VBA, voir ci-dessous.
- C'est la qu'intervient mon second problème. J'aurais aimé pouvoir ajouter des informations par exemple une description de ce que contiens le fichier. Et pouvoir trier les données. Mais lorsque cela s'actualise les colonnes se décalent.
- idée 1 : sur l'exemple j'ai mis des fichiers word mais en vrai je n'ai presque que des Pdf donc je pensais ajouté une description directement dans les informations fichier et que cela ressorte au même titre que la date,... au moment de "obtenir données". Mais je ne sais pas comment lui demander cela (ni comment ça s'appel)
- idée 2 : aucune ^^'
Ci-joint : mon fichier exemple, ainsi que les deux codes utilisés.
Merci d'avance pour le temps consacré :)
Belle journée,
Célia
Les codes utilisés :
Trouvé sur extendoffice
Créer de nouvelles feuilles pour chaque ligne avec le code VBA
Avec les codes suivants, vous pouvez créer de nouvelles feuilles en fonction des valeurs des colonnes ou simplement créer de nouvelles feuilles pour chaque ligne dans Excel.
1. presse autre + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Et puis collez le code suivant dans le Module fenêtre.
Code VBA: créez une nouvelle feuille pour chaque ligne en fonction de la colonne
Sub parse_data()
'Update by Extendoffice 2018/3/2
Dim xRCount As Long
Dim xSht As Worksheet
Dim xNSht As Worksheet
Dim I As Long
Dim xTRrow As Integer
Dim xCol As New Collection
Dim xTitle As String
Dim xSUpdate As Boolean
Set xSht = ActiveSheet
On Error Resume Next
xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Row
xTitle = "A1:C1"
xTRrow = xSht.Range(xTitle).Cells(1).Row
For I = 2 To xRCount
Call xCol.Add(xSht.Cells(I, 1).Text, xSht.Cells(I, 1).Text)
Next
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
For I = 1 To xCol.Count
Call xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
Set xNSht = Nothing
Set xNSht = Worksheets(CStr(xCol.Item(I)))
If xNSht Is Nothing Then
Set xNSht = Worksheets.Add(, Sheets(Sheets.Count))
xNSht.Name = CStr(xCol.Item(I))
Else
xNSht.Move , Sheets(Sheets.Count)
End If
xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
xNSht.Columns.AutoFit
Next
xSht.AutoFilterMode = False
xSht.Activate
Application.ScreenUpdating = xSUpdate
End Sub
Trouvé sur le youtube de Docteur Excel : MACRO: CRÉER AUTOMATIQUEMENT UNE LISTE D'ONGLETS EN VBA - DOCTEUR EXCEL
Hello,
Envoie deux fichiers PDF ainsi que les informations que tu veux obtenir et on verra ce qu'on peut faire. Avec PowerQuery, il est très facile de passer sur des fichiers dans des dossiers.
@+
Voici l'arborescence de mes documents si besoin.
et deux exemple de pdf vierge. Dans le second j'ai mis une copie d'écran de ce que j'ajoute dans les propriété de documents.
J'aimerais pouvoir afficher dans mon tableau la case mots-clés (je crois que c'est celle qui permet le plus grand nombre de caractères).
j'ajoute aussi mon fichier de base avec un onglet montrant ce que j'aimerais obtenir. J'espère que ce sera clair.
Merci