Problème avec "If Not isFileOpen(valeur) Then"
Ferméyg_be Messages postés 23485 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mars 2025 - 17 févr. 2023 à 17:52
- Problème avec "If Not isFileOpen(valeur) Then"
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum MacOS
- Liste de valeur excel - Guide
- If exist ✓ - Forum Autoit / batch
- Input signal not found ✓ - Forum Matériel & Système
4 réponses
16 févr. 2023 à 18:55
bonjour,
Difficile de t'aider si tu ne nous montres pas le code qui provoque cette erreur.
Tiens compte de ceci quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
bonjour
je n'ai pas trouvé vba pour coller la macro
désolé
le problème est au niveau de cette ligne :
'vérifier si le fichier a déjà été créé pour cette valeur
If Not isFileOpen(valeur) Then
Sub copiercoller()
Dim wb As Workbook
Dim ws As Worksheet
Dim wb2 As Workbook
Dim ws2 As Worksheet
Dim nom As String
Dim i As Long
Dim j As Long
'ouvrir le classeur actif
Set wb = ActiveWorkbook
'ouvrir la première feuille
Set ws = wb.Sheets(1)
'copier la première ligne
ws.Rows(1).Copy
'créer un nouveau classeur
Set wb2 = Workbooks.Add
'ouvrir la première feuille
Set ws2 = wb2.Sheets(1)
'coller la première ligne
ws2.Range("A1").PasteSpecial xlPasteAll
'trouver le dernier numéro de ligne de la première feuille
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
'parcourir chaque ligne de la première feuille
For i = 2 To lastRow
'récupérer la valeur de la première cellule de la ligne
valeur = ws.Cells(i, 1).Value
'vérifier si le fichier a déjà été créé pour cette valeur
If Not isFileOpen(valeur) Then
'créer un nouveau classeur avec le nom de la valeur
nom = ws.Cells(i, 2).Value
Set wb2 = Workbooks.Add
Set ws2 = wb2.Sheets(1)
'coller la première ligne
ws.Rows(1).Copy
ws2.Range("A1").PasteSpecial xlPasteAll
'sauvegarder le fichier
wb2.SaveAs nom
'fermer le fichier
wb2.Close
End If
'ouvrir le fichier correspondant à la valeur
Set wb2 = Workbooks.Open(ws.Cells(i, 2).Value)
Set ws2 = wb2.Sheets(1)
'trouver la dernière ligne
lastrow2 = ws2.Cells(ws2.Rows.Count, 1).End(xlUp).Row
'coller la ligne à la suite
ws.Rows(i).Copy
ws2.Range("A" & lastrow2 + 1).PasteSpecial xlPasteAll
'fermer le fichier
wb2.Close
Next i
End Sub
17 févr. 2023 à 08:26
VBA, c'est du Basic.
Où est le code de la fonction isFileOpen()? Le message d'erreur t'indique que tu as négligé de déclarer cete fonction.
17 févr. 2023 à 14:47
D'où vient ce code?
S'il s'agit vraiment de vérifier si un fichier existe, pourquoi utiliser une fonction appelée isFileOpen?
je la déclare sous quelle caractéristique au début de la macro ?
dim ???
merci pour ton aide
17 févr. 2023 à 14:39
Tu dois déclarer la fonction, et inclure tout son code.
quelle autre fonction ferait l'affaire pour vérifier l'existence d'un fichier ?
merci
17 févr. 2023 à 17:52