Corriger ce bout de code vba

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 695
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 2 décembre 2019, 23:01

ajout : indique-moi clairement si le N° DSCC est Corse 203099 ou seulement 203099 ; même si c'est Corse 203099, télécharge quand même les 2 fichiers de mon post précédent, pour voir le nouveau code VBA.

dhany
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 695
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 2 décembre 2019, 23:18

ce post est pour le cas où ton problème n'est toujours pas réglé.

dans ton post de 13:37, tu a écrit :Il est toujours bloqué au suivi 10, pas de suivi 11.
si dans ton code VBA tu avais mis :
For i = 1 To 10
  '...
Next i
ça expliquerait le problème, et il suffirait de remplacer 10 par 11 (ou plus) ; par exemple, si tu as 1000 fichiers :
For i = 1 To 1000
  '...
Next i
mais ton code VBA utilise cette boucle :
While unFichier <> "" 'Boucle qui effectue les traitements sur tous les fichiers du dossier
  '...
Wend
alors j'comprends pas pourquoi ça s'arrête à 10 et ça veut pas faire la suite !  :scritch:

dhany
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'717
Appréciations reçues : 574
Inscrit le : 27 août 2012
Version d'Excel : 365 Insider

Message par Jean-Eric » 2 décembre 2019, 23:41

Bonjour,
Une proposition à évaluer. :wink:
Pour le numéro de suivi et le DSCC, privilégie la fonction Split pour découper ta chaîne de caractères avec l'espace pour délimiteur.
J'ai crée 2 petites fonctions pour cela :
'Fonction split : délimiteur par défaut = espace
'5 ou 6 si espace après n?
Public Function NSerie(txt) As String
Dim tbl
    tbl = Split(txt)
    NSerie = Replace(tbl(5), "n?", vbNullString)
End Function

Public Function DSCC(txt As String)
Dim tbl
    tbl = Split(txt)
    DSCC = tbl(UBound(tbl) - 1) & " " & tbl(UBound(tbl))
End Function
Modifie ta procédure ainsi :
numberSuivi = NSerie(bookName)
numberDSCC = DSCC(bookName)
Sinon,
bookName = wbook.Name, comporte l'extension du fichier (!?)
Si c'est le cas, une autre fonction pour l'éliminer.
'Nom de fichier sans extension
Public Function WBName(nm As String)
    WBName = Mid(nm, 1, InStrRev(nm, ".") - 1)
End Function
Modifie ensuite :
bookName = WBName(wbook.Name)
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 7'083
Appréciations reçues : 695
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 2 décembre 2019, 23:43

@bofala

j'vais faire une très longue pause, alors t'étonne pas si j'vais répondre tardivement à ton prochain post.  ;;)

en attendant, lis aussi la proposition de Jean-Eric, qui solutionnera peut-être ton problème ?  :trfl:

dhany
b
bofala
Membre fidèle
Membre fidèle
Messages : 199
Appréciation reçue : 1
Inscrit le : 18 octobre 2019
Version d'Excel : 2016

Message par bofala » 3 décembre 2019, 00:31

Bonsoir Dhany, Jean-Eric,

Je vous remercie vivement pour vos aides.
Malheureusement, j'ai testé vos 2 solutions et ça ne me donne toujours pas le résultat souhaité.
Dans un premier temps avec la macro modifiée par dhany. Et dans un second temps, en rajoutant les bouts de code de Jean-Eric, ça me donne des débogages.

A mon avis, pour que ça soit plus clair pour vous, vaut mieux que vous testez, c'est simple. Je vous laisse ce lien Drive
( https://drive.google.com/open?id=1LSfymciXZ81cMRyE1LsJSbzuGy4As47X )

Pour exécuter la macro Macro_Indicateur, il faudra ouvrir ces 3 fichiers :
- Suivi avancement fiabilisation + New indicateur fiab 20191008 (présent dans le sous-dossier 08_10_2019, dossier Bofala V1, fichiers Excel retravaillés)
- exportPA_20191008 (présent dans le même sous-dossier)
- Macro_Indicateur_23072019 V3.1 (présent dans le dossier Macros)

Il faudra exécuter la macro Indicateur sur le fichier Suivi avancement fiabilisation + New indicateur fiab 20191008 :
Suivi 11 / Date à saisir (08_10_2019).
Regardez le fichier PDF procédure étape par étape, il explique bien toute la procédure de la macro.

Merci d'avance,
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'717
Appréciations reçues : 574
Inscrit le : 27 août 2012
Version d'Excel : 365 Insider

Message par Jean-Eric » 3 décembre 2019, 01:26

Re,
Il faudra exécuter la macro Indicateur sur le fichier Suivi avancement fiabilisation + New indicateur fiab 20191008 :
C'est un fichier xlsx !...
Sinon, mets en ligne que les fichiers utiles (en respectant les dossiers, sous dossiers…)
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'717
Appréciations reçues : 574
Inscrit le : 27 août 2012
Version d'Excel : 365 Insider

Message par Jean-Eric » 3 décembre 2019, 01:44

Jean-Eric a écrit :
3 décembre 2019, 01:26
Re,
Il faudra exécuter la macro Indicateur sur le fichier Suivi avancement fiabilisation + New indicateur fiab 20191008 :
C'est un fichier xlsx !...
Sinon, mets en ligne que les fichiers utiles (en respectant les dossiers, sous dossiers…)
Cdlt.
Suite :
Les 2 (3) fonctions que j'ai crée fonctionnement parfaitement pour scinder le nom des fichiers et déterminer le numéro de série et le DSCC.
Macro_Indicateur_23072019 V3.1.xlsm
(57.19 Kio) Téléchargé 1 fois
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
b
bofala
Membre fidèle
Membre fidèle
Messages : 199
Appréciation reçue : 1
Inscrit le : 18 octobre 2019
Version d'Excel : 2016

Message par bofala » 3 décembre 2019, 09:05

Bonjour Jean-Eric,

J'ai retesté avec ton nouveau fichier macro et ça ne marche tjrs pas. Je ne sais pas pourquoi.

Je te propose de télécharger le dossier Bofala_V1 du drive qui contient les fichiers. J'ai mis plus de fichiers (inutiles pour toi) générés par une autre macro, mais primordiales pour exécuter notre macro. Donc pour toi, je te propose de créer un dossier et mettre tout dedans.

Après, ouvre les 3 fichiers nécessaires et exécute la macro. Suite à un menu, elle te demandera de modifier un chemin, tu suis celui en photo et tu saisies cette date 08_10_2019.

Et tu verras que ça donne rien (suivi 11, sur les feuilles Excel concernées : à partir de DOM-TOM Corse jusqu'à la dernière).

Merci d'avance,
Chemin de la macro.JPG
b
bofala
Membre fidèle
Membre fidèle
Messages : 199
Appréciation reçue : 1
Inscrit le : 18 octobre 2019
Version d'Excel : 2016

Message par bofala » Hier, 09:27

Hello ! ne m'oubliez pas haha :p :p
Avatar du membre
X Cellus
Membre fidèle
Membre fidèle
Messages : 304
Appréciations reçues : 21
Inscrit le : 13 octobre 2019
Version d'Excel : 2007 FR

Message par X Cellus » Hier, 09:55

Bonjour Bofala,

J'ai téléchargé tes fichiers et vu un peu ce programme qui est un vrai labyrinthe. Je regarderais mieux ce week-end.

Peut être les fichiers de destination sont calibrés pour l'instant pour ne recevoir que jusqu'à 10 et pas au delà. La présence d'une colonne grise dont le but est d'être une colonne butoir sur ces fichiers m'interpelle.

Il faudra du temps pour le faire tourner sur déjà son propre ordi et voir ensuite sur d'autres. Mais peut être pour Noël qui sait?

A suivre...
1 membre du forum aime ce message.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message