Condition IF dans une macro

varchamb

XLDnaute Nouveau
Bonjour,

J'essaie d'introduire une condition ds une macro que l'on m'a fourni en m'aidant de mes maigres connaissances en VBA mais je n'y arrive pas. Quelqu'un peut il m'aider?

J'essaie d'introduire ds le code suivant, à l'emplacement marqué par une phrase en majuscule :
Code:
Sub Liste_Fichiers()
'Liste des Fichiers d'un dossier avec le nom du dossier en B1
    Range(Cells(2, 1), Cells(65536, 2)).Clear
     Dim i  As Integer, z As String
     ChDrive Left(Cells(1, 2), 1)
     ChDir Cells(1, 2).Value
     
    i = 1
    z = Dir("*.*", 1)
    
    While z <> ""
          ActiveSheet.Cells(i + 1, 1).Value = z
          i = i + 1
          z = Dir
    Wend
End Sub
Sub ExtraitC5Bis()
'Sélectionner les noms des fichiers à extraire
Application.ScreenUpdating = False
pfile = Cells(1, 2) & "\"
For Each cell In Selection
nfile = cell
Workbooks.Open Filename:=Cells(1, 2) & "\" & cell

'INSERTION D'UNE CONDITION CI-DESSOUS

    If Worksheets("FORMULAIRE").Range("A5").Value = "" Then
    Workbooks(ThisWorkbook.Name).Sheets(1).Range(cell.Address).Offset(0, 1) = "='" & pfile & "[" & nfile & "]FORMULAIRE'!$C$6"
    Else
    Workbooks(ThisWorkbook.Name).Sheets(1).Range(cell.Address).Offset(0, 1) = "='" & pfile & "[" & nfile & "]FORMULAIRE'!$C$5"
    End If
    ActiveWindow.Close False
Next
Application.ScreenUpdating = True
End Sub

La macro va chercher la valeur d'une meme cellule ds plusieurs fichiers différents. Si cette cellule se révèle etre vide (ici C5) alors j'aimerai que la macro aille chercher la valeur de C6 à la place.

J'ai cherché pendant 2 heures, tout changé et rechangé, essayé de nouvelles choses ... mais je m'avoue vaincu. Et vous ?

Amicalement,

Varchamb
 

varchamb

XLDnaute Nouveau
Re : Condition IF dans une macro

Bonsoir Kjin,

"J'ouvre des fichiers" ... ah oui vraiment ? si tu le dis, je veux bien te croire. Cela prouve bien mon manque de connaissance en VBA. Il me semblait pourtant qu'avec cette macro les fichiers n'étaient pas ouverts pour gagner du temps dans l'exécution.

Je crois comprendre que tu as besoin de plus d'explication. Toutes les infos sont contenus ds la discussion suivante : https://www.excel-downloads.com/thr...fichiers-avec-le-contenu-dune-cellule.196324/

Mais si je comprends bien ta question, la réponse est : il me faut simplement les valeurs. Le but est de compiler des données (créer une base de données) et non pas de les consolider (les additionner).

Merci d'avance Kjin. Au vu des précédents coup de main que tu m'as donné, je suis très confiant ds la résolution de ce problème désormais ;)

Bonne soirée
 

kjin

XLDnaute Barbatruc
Re : Condition IF dans une macro

Bonjour,
"J'ouvre des fichiers" ... ah oui vraiment ? si tu le dis, je veux bien te croire. Cela prouve bien mon manque de connaissance en VBA. Il me semblait pourtant qu'avec cette macro les fichiers n'étaient pas ouverts pour gagner du temps dans l'exécution
Ca n'est pas moi qui ai écris ceci...
Code:
'....
Workbooks.Open Filename:=Cells(1, 2) & "\" & cell
'....
...d'où ma question
Je crois comprendre que tu as besoin de plus d'explication. Toutes les infos sont contenus ds la discussion suivante...
Pas regardé pour le moment, mais d'autres ici pourront aussi bien te répondre
A+
kjin
 

Discussions similaires

Réponses
1
Affichages
194
Réponses
0
Affichages
175

Statistiques des forums

Discussions
312 432
Messages
2 088 376
Membres
103 837
dernier inscrit
philmyl04