Extraction de données via VBA

Je viens de tester, en changeant l'export pour garder juste une version excel. Mais aucune valeur n'est récupérée .. Je ne sais pas quoi, mais les valeurs sont récupérées dans un premier temps puis sont effacés plus tard ..

Re,

Je viens de tester, en changeant l'export pour garder juste une version excel. Mais aucune valeur n'est récupérée .. Je ne sais pas quoi, mais les valeurs sont récupérées dans un premier temps puis sont effacés plus tard ..

Je ne comprends pas, ce que tu veux faire

A la base, ce fichier est fait pour imprimer des fichiers PDF pour 1 à 4 fiches et rien d'autre

Donc si tu veux faire autre chose maintenant et bien débrouille toi,

ce que je trouvais amusant au départ commence à ne plus l'être

Salut Bruno,

Que la macro fasse l'export en .pdf ou en .xlsx ne crée pas d'erreur en +. Quand je lance la macro avec l'export en .pdf, elle ne récupère rien :

Mais je comprendrai que tu veuilles arrêter là.

Merci

Bonjour Bastien,

Autant pour moi, je pensais que tu avais fait une manip dans le fichier et que ça ne marchait plus

En fait il y avait encore plusieurs erreurs dans mon code, désolé

Voici la v6 testé cette fois, qui à l'air de fonctionner.

Le problème résidant est celui des fichiers de base avec 1 seule fiche, tu auras systématiquement un message

@+

Il n'y a pas de soucis ! Merci encore, effectivement tout fonctionne. Je vais maintenant tenter de l'adapter à mon fichier d'origine !

Par curiosité, as tu suivi une formation sur le VBA, ou as tu simplement suivi des "tutos" en ligne ?

Bon week end !

Re,

Oui je me suis formé sur VBA mais en autodidacte

Ça fait un paquet d'années que je pratique ce langage qui pour moi est simple et très efficace

@+

Bonjour Bruno,

Je rencontre un problème que je ne parviens pas à résoudre malgré mes recherches sur internet..

Il m'arrive d'avoir certains fichiers à ouvrir qui affichent le message "Contenu illisible ...." à l'ouverture. Cela fait donc planter la macro à ce niveau là (dernière ligne) :

  
SuiteParams:
  ' Maintenant on va traiter les fichiers dans Params
  ' En cas d'erreur on met le FLAG à VRAI
  FlgErr = False
  ' Dernière ligne de la colonne D de Params
  dLig = Params.Range("D" & Rows.Count).End(xlUp).Row
  ' Pour chaque ligne
  For lig = 2 To dLig
    ' Vérifier que fichier pas déjà traité
    If Params.Range("E" & lig).Value = "X" Then GoTo SuiteLig
    ' Message dans la barre de statut
    Application.StatusBar = "Mise à jour de la fiche " & lig & "/" & dLig
    ' Récupérer le nom du fichier
    sFic = Params.Range("D" & lig)
    ' Marquer le fichier comme traité
    Params.Range("E" & lig).Value = "X"
    ' Ouvrir le classeur sans rafraichir les liens au cas ou
        Set Wbk = Workbooks.Open(sPathBase & sFic, False)

J'ai tenté d'ajouter "corruptload:=xLrepairfile" ou "xLExtractData" dans Workbooks.Open, sans succès ..

Une idée ?

Merci,

Salut Bastien,

Effectivement cela peut être un problème, il faut alors contourner l'erreur

    ' #Modif du 20/05/2020 - En cas d'erreur
    On Error Resume Next
    ' Ouvrir le classeur sans rafraichir les liens au cas ou
    Set Wbk = Workbooks.Open(sPathBase & sFic, False)
    ' #Modif du 20/05/2020 - Vérifier si une erreur c'est produite
    If Err.Number <> 0 Then
      MsgBox "Une erreur c'est produite à l'ouverture de " & sPathBase & sFic
      ' Effacer l'erreur
      Err.Clear
      ' Gestion normale des erreurs
      On Error GoTo 0
      ' On passe à la ligne suivante
      GoTo SuiteLig
    End If

Voir la version 6.1 ci-jointe à tester

@+

Bruno,

Désolé pour les remerciements un peu tardif, mais merci pour la petite correction qui est parfaite. Tout fonctionne à merveille et j'ai réussi à tout adapter à mon fichier pro. J'ai même réussi à créer une boucle en fin de macro pour vérifier un élément de mes fichiers

Bonne journée !

Rechercher des sujets similaires à "extraction donnees via vba"