PS : Ucfoutu, je fais de mon mieux
Une idée
mets ici, de manière symbolisée, la liste des fichiers qu'il est susceptible de contenir (extensions comprises). S'il contient plusieurs séries ===>>> montre les dans cette liste.
Puis la liste de ce que tu voudrais avoir dans ton fichier de destination.
Et tout ira alors très vite pou faire le code nécessaire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSi série de 9 dont je ne veux retenir que 3 images ==>> sauter au départ de la série INT((9-2)/2) = 6 4
Si série de 9 dont je ne veux retenir que 3 images >> sauter au départ de la série INT((9- 2 3)/2) 3
- tous les dossiers de ce genre conduisent à "sauter" au départ uniquement 1 fichier et toujours, dans un tel cas, le tout premier.
- tous les dossiers de ce type sont identifiables (par un nom particulier, ou par le nom de l'un quelconque des fichiers y contenus)
Ce qui, dans ton cas de figure, équivaudrait à :
- dresser la liste des dossiers à traiter
- affecter manuellement (saisies) à chaque élément (dossier) de cette liste le "rythme de traitement (départ, syncope, syncope dans syncope)
Option Explicit Sub Description_Logique() 'Note : Ces deux variables sont définies dans la feuille "PARAMÉTRAGE DE L'EXTRACTION". On ne traite que le cas pour une seule série. Dim Nombre_Photos_Série1 As Long 'C'est le nombre total de photos qui compose la première série Dim Nombre_Photos_Série1_Garder As Long 'C'est le nombre de photos que l'on souaite garder/extraire de première série Nombre_Photos_Série1 = Range("C7") Nombre_Photos_Série1_Garder = Range("C8") If ((Nombre_Photos_Série1 est pair) ET (Nombre_Photos_Série1_Garder est pair)) OU ((Nombre_Photos_Série1 est impair) ET (Nombre_Photos_Série1_Garder est impair)) Then On jette ce nombre de photos : (Nombre_Photos_Série1 - Nombre_Photos_Série1_Garder)/2 On garde ce nombre de photos : Nombre_Photos_Série1_Garder On jette ce nombre de photos : (Nombre_Photos_Série1 - Nombre_Photos_Série1_Garder)/2 'Note : On vient de pacourir l'intégralité de la série1. Donc ((Nombre_Photos_Série1 - Nombre_Photos_Série1_Garder)/2) + (Nombre_Photos_Série1_Garder) + ((Nombre_Photos_Série1 - Nombre_Photos_Série1_Garder)/2) = Nombre_Photos_Série1 End If '------------------------------------------------------------------------------------------------------------------------ If ((Nombre_Photos_Série1 est pair) ET (Nombre_Photos_Série1_Garder est impair)) OU ((Nombre_Photos_Série1 est impair) ET (Nombre_Photos_Série1_Garder est pair)) Then On jette ce nombre de photos : (Nombre_Photos_Série1 - Nombre_Photos_Série1_Garder - 1)/2 On garde ce nombre de photos : Nombre_Photos_Série1_Garder On jette ce nombre de photos : ((Nombre_Photos_Série1 - Nombre_Photos_Série1_Garder - 1)/2) + 1 'Note : On vient de pacourir l'intégralité de la série1. Donc ((Nombre_Photos_Série1 - Nombre_Photos_Série1_Garder - 1)/2) + (Nombre_Photos_Série1_Garder) + (((Nombre_Photos_Série1 - Nombre_Photos_Série1_Garder - 1)/2) + 1) = Nombre_Photos_Série1 End If 'Note : Pour gérer le cas pair ou impair on utilisera la fonction Modulo je présume. De plus j'ai volontairement fait exprès de supprimer la fonction "INT". J'aimerais conserver "+1" ou "-1" comme j'ai mis dans la deuxième boucle. End Sub