Condition de cellule

  • Initiateur de la discussion Initiateur de la discussion Jul74ien74
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

Jul74ien74

Guest
Bonjour,

voici un petit bout de code qui ne marche pas mais je ne comprends pas pkoi.

Sub AfficherInfoFichier()
For Lig = 8 To 133
If Not IsEmpty(Cells(Lig, 5)) Then
Else


FichierATester = [M2] + Cells(Lig, 5) + Cells(Lig, 9)

Set fs = CreateObject("Scripting.FileSystemObject")
Set F = fs.GetFile(FichierATester)


Cells(Lig, 11).Value = F.DateLastModified

End If
Next Lig

End Sub

En gros je veux dire si la cellule est vide passe a la suivante sinon tester la cible.
 
Re : Condition de cellule

Hello

en fait. tu fais le contraire de ce que tu souhaites

Code:
Sub AfficherInfoFichier()
'parcourt de 8 à 133
For Lig = 8 To 133
    'si la cellule lig, 5 N'EST PAS vide (donc. si il y a quelque chose)
    If Not IsEmpty(Cells(Lig, 5)) Then 
        'alors....rien....quelle utilité donc?
   Else
    'sinon: (la cellule est vide
    FichierATester = [M2] + Cells(Lig, 5) + Cells(Lig, 9)

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set F = fs.GetFile(FichierATester)
   Cells(Lig, 11).Value = F.DateLastModified
  End If
Next Lig

End Sub


j'aurais plutot fait un truc du genre
Code:
Sub AfficherInfoFichier()
For Lig = 8 To 133
   If IsEmpty(Cells(Lig, 5)) Then
       FichierATester = [M2] + Cells(Lig, 5) + Cells(Lig, 9)
       Set fs = CreateObject("Scripting.FileSystemObject")
       Set F = fs.GetFile(FichierATester)

       Cells(Lig, 11).Value = F.DateLastModified
  End If
Next Lig

End Sub
 
Re : Condition de cellule

Tt d'abord merci de ta réponse,

J'ai tester ton code, le pb c'est que par exemple dans la ligne 10 il ne voit rien donc il bug.
En gros il faudrait qu'il passe a celle d'apres.
 
Re : Condition de cellule

oui donc. je disais. oups. dans mon code. il manque le NOT
Code:
Sub AfficherInfoFichier()
For Lig = 8 To 133
   If Not IsEmpty(Cells(Lig, 5)) Then
       FichierATester = [M2] + Cells(Lig, 5) + Cells(Lig, 9)
       Set fs = CreateObject("Scripting.FileSystemObject")
       Set F = fs.GetFile(FichierATester)
       Cells(Lig, 11).Value = F.DateLastModified
  End If
Next Lig
End Sub
 
Re : Condition de cellule

alors la ca marche mais voici un autre pb

Dans le code qui suit je teste si le fichier pdf est fait, si oui je prends la date de dernière modif sinon je mets en rouge la ligne,
Mais cela bloque lorsque il ne voit pas le pdf


Sub Bouton43_Cliquer()
For Lig = 8 To 133
FichierATester = [M2] + Cells(Lig, 5) + Cells(Lig, 13)
If Not IsEmpty(Cells(Lig, 5)) Then
Cells(Lig, 6).Font.ColorIndex = 0
Cells(Lig, 11).Interior.ColorIndex = 2

Set fs = CreateObject("Scripting.FileSystemObject")
Set F = fs.GetFile(FichierATester)
Cells(Lig, 12).Value = F.DateLastModified
Else

Cells(Lig, 6).Font.ColorIndex = 3
Cells(Lig, 12).Interior.ColorIndex = 3

End If
Next Lig
End Sub
 
Re : Condition de cellule

pour la manipulation de fichier. je ne suis pas le meilleur placé pour t'aider..
mais l'aide VBA indique que GetFile renvoit une erreur si le fichier n'existe pas..
il faut donc sans doute ajouter un test pour gerer les erreurs..

Code:
Sub Bouton43_Cliquer()
'parcourt des lignes 8 à 133
For Lig = 8 To 133

If Not IsEmpty(Cells(Lig, 5)) Then
    'création du nom du fichier avec path complet. je suppose
    FichierATester = [M2] + Cells(Lig, 5) + Cells(Lig, 13)

    'coloration des cellules
    Cells(Lig, 6).Font.ColorIndex = 0
    Cells(Lig, 11).Interior.ColorIndex = 2

    Set fs = CreateObject("Scripting.FileSystemObject")
    On Error Resume Next 'si il y a une erreur, la macro va ignorer la commande et passer à la ligne suivante
    Set F = fs.GetFile(FichierATester)
    Cells(Lig, 12).Value = F.DateLastModified
Else
    'sinon la ligne est vide
    Cells(Lig, 6).Font.ColorIndex = 3
    Cells(Lig, 12).Interior.ColorIndex = 3
End If
Next Lig
End Sub

PS: j'ai déplacé la ligne ou tu crées le FichierATester dans le IF
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
729
Réponses
2
Affichages
437
Réponses
35
Affichages
2 K
Réponses
16
Affichages
1 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
432
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour