Bonjour,
En effet, il me manque la lettre "k" mais j'ai toujours le même problème, impossible de lire le contenu de mon fichier .BAT.
Mais je crois avoir trouvé mon problème, quand j'ouvre mon fichier .BAT (en double cliquant), j'obtiens le message suivant : "Ce fichier est utilisé par une autre application".
Je crois qu'il faut que je ferme mon fichier Excel ou je ajouter un msgbox pour appliquer un temps de pause.
Voici mon code en entier :
Private Sub CommandButton1_Click()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim R As Range 'déclare la variable R (Recherche)
Dim PA As String 'déclare la variable PA (Première Adresse)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Dim n As String 'déclare la variable N (Nom)
Dim pathfile As String
Set OS = Worksheets("Feuil2") 'définit l'onglet source OS (à adapter à ton cas)
Set OD = Worksheets("Feuil3") 'définit l'onglet destination OD (à adapter à ton cas)
Set R = OS.Columns(5).Find(">limite", , xlValues, xlWhole) 'définit la recherche R (recherche les occurrences de ">seuil" dans la colonne 5 (=E) de l'onglet source OS
If Not R Is Nothing Then 'condition : s'il existe au moins une occurrence
PA = R.Address 'définit l'adresse PA de la première occurrence trouvée
Do 'exécute
'définit la cellule de destination DEST (A1 si A1 est vide, sinon la première cellule vide de la colonne A de l'onglet destination OD)
If OD.Range("A1").Value = "" Then Set DEST = OD.Range("D1") Else Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 3)
DEST.Value = Mid(OS.Cells(R.Row, 1).Value, 3) 'récupère les numéros de R
DEST.Offset(0, -3) = "taille"
DEST.Offset(0, -2) = "enfants"
DEST.Offset(0, -1) = 0
DEST.Offset(0, 1).Value = Mid(OS.Cells(R.Row, 2), 3) 'récupère les numéros de T
n = OS.Cells(R.Row, 1).End(xlUp).Value 'récupère le nom
n = Left(n, Len(n) - 4) 'enlève l'extension
DEST.Offset(0, 3).Value = n 'récupère le nom
Select Case Right(n, 3)
Case Is = "T1"
DEST.Offset(0, 2) = 600
Case Is = "T2"
DEST.Offset(0, 2) = 800
Case Is = "T3"
DEST.Offset(0, 2) = 900
Case Is = "T4"
DEST.Offset(0, 2) = 1000
Case Is = "T5"
DEST.Offset(0, 2) = 1200
End Select
Set R = OS.Columns(5).FindNext(R) 'redéfinit la recherche R (occurrence suivante)
Loop While Not R Is Nothing And R.Address <> PA 'boucle tant qu'il existe de nouvelles occurrences ailleurs qu'en PA
End If 'fin de la condition
pathfile = ThisWorkbook.path & "\"
Worksheets("Feuil3").SaveAs FileName:=pathfile & "ACXXX.bat", _
FileFormat:=xlTextMSDOS, CreateBackup:=False
End Sub
Avez vous des idées svp ?.