Exclure l'affichage d'une seule affiche
Résolu
dudulleray
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir a toutes et tous, Forum
J'ai dans ma colonne (A) une liste de noms de mes vidéos et dans la colonne (B) une liste de jaquettes correspondente a la vidéo.
EX:
A1= Tintin.avi B1=Tintin.jpg
A2=Bibi.avi B2=Bibi.jpg
etc etc
>>> Plus une jaquette (baptiser) Liberty.jpg qui se trouve dans la liste des autres jaquettes
je souhaiterai svp que le nom de "cette jaquette" n'apparaisse pas dans la liste des jaquettes de la colonne B
Ci-dessous deux petites macros pour gérer la récupération des noms des fichiers du disque E ou sont stockés mes vidéos et mes Jaquettes
Je vous remercie par avance de votre aide, de votre savoir ainsi que de votre temps.
bonne soirée a tous
Cordialement Ray
J'ai dans ma colonne (A) une liste de noms de mes vidéos et dans la colonne (B) une liste de jaquettes correspondente a la vidéo.
EX:
A1= Tintin.avi B1=Tintin.jpg
A2=Bibi.avi B2=Bibi.jpg
etc etc
>>> Plus une jaquette (baptiser) Liberty.jpg qui se trouve dans la liste des autres jaquettes
je souhaiterai svp que le nom de "cette jaquette" n'apparaisse pas dans la liste des jaquettes de la colonne B
Ci-dessous deux petites macros pour gérer la récupération des noms des fichiers du disque E ou sont stockés mes vidéos et mes Jaquettes
Je vous remercie par avance de votre aide, de votre savoir ainsi que de votre temps.
bonne soirée a tous
Cordialement Ray
Sub RepertorierVideos()
Dim Chemin As String, Fichier As String, Numligne As Long
Range("A:A") = ""
'indique le répertoire contenant les fichiers
Chemin = "E:\VIDEOS\"
'Boucle sur tous les fichiers .avi du répertoire
Fichier = Dir(Chemin & "*.avi")
Numligne = 1
Do While Len(Fichier) > 0
Sheets("Feuil1").Range("A" & Numligne).Value = Fichier
Numligne = Numligne + 1
Fichier = Dir()
Loop
End Sub
'---------------------------
Sub RepertorierAffiches()
Dim Chemin As String, Fichier As String, Numligne As Long
Range("B:B") = ""
'indique le répertoire contenant les fichiers
Chemin = "E:\AFFICHE\"
'Boucle sur tous les fichiers .jpg du répertoire
Fichier = Dir(Chemin & "*.jpg")
Numligne = 1
Do While Len(Fichier) > 0
' *** Le test ci dessous n'ai pas bon, ca me laisse dans la liste colonne (B) une ligne vide
If Fichier = "Liberty.jpg" Then Fichier = "" : Numligne = Numligne - 1
Sheets("Feuil1").Range("B" & Numligne).Value = Fichier
Numligne = Numligne + 1
Fichier = Dir()
Loop
End Sub
3 réponses
-
Bonjour,
En fait, si Fichier = "Liberty.jpg" tu ne veux rien faire... Donc, ne fait rien :Do While Len(Fichier) > 0 If Fichier = "Liberty.jpg" Then Else Sheets("Feuil1").Range("B" & Numligne).Value = Fichier Numligne = Numligne + 1 Fichier = Dir() End If Loop
Ou, plus élégant :Do While Len(Fichier) > 0 If Fichier <> "Liberty.jpg" Then Sheets("Feuil1").Range("B" & Numligne).Value = Fichier Numligne = Numligne + 1 Fichier = Dir() End If Loop
Cordialement,
Franck P -
Salut,
Tu as intégré mon bout de code à ta macro ou juste copier-coller mon code dans une nouvelle procédure???
Parce qu'en fait, le code que je te donne ne diffère en rien (quasiment) de celui que tu nous donnais...
Je te remets ici le code complet modifié qu'il te faut utiliser :Sub RepertorierAffiches() Dim Chemin As String, Fichier As String, Numligne As Long Range("B:B") = "" 'indique le répertoire contenant les fichiers Chemin = "E:\AFFICHE\" 'Boucle sur tous les fichiers .jpg du répertoire Fichier = Dir(Chemin & "*.jpg") Numligne = 1 Do While Len(Fichier) > 0 If Fichier <> "Liberty.jpg" Then Sheets("Feuil1").Range("B" & Numligne).Value = Fichier Numligne = Numligne + 1 Fichier = Dir() End If Loop End Sub -
Re Salut pijaku
Bon je pense avoir trouver, j'ai dans le code End if juste en dessous Numligne
et la plus de plantage et ca fonctionne parfaitement
le code Fichier = Dir() ne plait visiblement pas a mon excel ou bien alors il y a une raison mais laquelle ???
j'ai bien tester et je confirme que ca marche bien
je te remercie beaucoup pour ton aide. le sujet pour moi est résolu
bonne soirée a toi
bien cordialement Raymond
Do While Len(Fichier) > 0 If Fichier <> "Liberty.jpg" Then Sheets("Feuil1").Range("B" & Numligne).Value = Fichier Numligne = Numligne + 1 End if Fichier = Dir() Loop End Sub-
-
Salut pijaku
Non je n'ai pas dit que tu avais oublier un End If ton code fonctionne bien
j'ai juste déplacer le End If je l'ai mis avant Fichier = Dir()
de cette facon chez moi ca fonctionne très bien et plus de plantage
voila je te remercie de nouveau pour ton aide
A plus tard sans doute je te souhaite une bonne journée malgré la pluie ici a Rouen
Cordialement Raymond -
excuse je n'avais pas saisi.
En effet, c'est une grossière erreur de ma part.
En fait, en mettant le End If après Fichier = Dir(), lorsque le nom de ton fichier est tombé sur liberty.jpg, comme on ne changeait plus le nom de fichier (Fichier = Dir() se trouvant à l'intérieur du test If), ma boucle tournait à l'infini avec effectivement plantage excel....... Sorry. Ca m'apprendra à mal tester les codes que je fournit.
Bonne journée à toi!
-