Open Filename For Input As #1 'Ouverture du fichier en lecture.
Do While Not EOF(1)
Line Input #1, TextLine 'Lecture de la ligne
Tmp =3D Split(TextLine, ",")
If IsArray(Tmp) Then
MsgBox UBound(Tmp)
Jr =3D Day(Date)
Hr =3D Hour([I1])
If Hr >=3D 0 And Hr <=3D 9 Then
Jr =3D Jr + 1
End If
Tmp(4) =3D Year(Date) & Month(Date) & Jr ' 20171116
Tmp(5) =3D Format(Hour(Time), "##") & Format(Minute(Time), "00"=
) ' 1500
Tmp(6) =3D Year(Date) & Month(Date) & Jr ' 20171117
Tmp(7) =3D Format(Hour(Time), "##") & Format(Minute(Time), "00"=
) ' 1500
Tmp(8) =3D Year(Date) & Month(Date) & Jr ' 20171116
Tmp(9) =3D Format(Hour(Time), "##") & Format(Minute(Time) - 5, =
"00") ' 1655
Debug.Print UBound(Tmp)
Tp =3D Tmp
TXT =3D TXT & Concat(Tmp)
[I1] =3D [I1] + [F1]
End If
Loop
Close #1
Open Filename For Output As #1 'Ouverture du fichier en =C3=A9critur=
e.
Write #1, TXT 'Je stock dans mon fichier la variable TXT
Close #1
End Sub
Function Concat(Tb() As Variant) As String
Dim i As Long
For i =3D LBound(Tb) To UBound(Tb)
Concat =3D Concat + Tb(i) & ","
'Enleve la virgule et ajout d'un retour =C3=A0 la ligne
If i =3D UBound(Tb) Then Concat =3D Left(Concat, Len(Concat) - 1) &=
vbCrLf
Next
End Function
-------------------------------
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour, Essaie comme ceci : '--------------------------------------------- Dim T As Variant T = Split("Bonjour,Bonsoir", ",") If TypeName(T) = "String()" Then If UBound(T) = 0 Then 'Il y a seulement un élément Else 'il y a plusieurs éléments séparés par une virgule End If End If End Sub '--------------------------------------------- MichD
Bonjour,
Essaie comme ceci :
'---------------------------------------------
Dim T As Variant
T = Split("Bonjour,Bonsoir", ",")
If TypeName(T) = "String()" Then
If UBound(T) = 0 Then
'Il y a seulement un élément
Else
'il y a plusieurs éléments séparés par une virgule
End If
End If
End Sub
'---------------------------------------------
Bonjour, Essaie comme ceci : '--------------------------------------------- Dim T As Variant T = Split("Bonjour,Bonsoir", ",") If TypeName(T) = "String()" Then If UBound(T) = 0 Then 'Il y a seulement un élément Else 'il y a plusieurs éléments séparés par une virgule End If End If End Sub '--------------------------------------------- MichD
Apitos
Bonjour MichD, Déclaration : Dim Tmp as Variant Induit une erreur sur la ligne : TXT = TXT & Concat(Tmp)
Essaie comme ceci : '--------------------------------------------- Dim T As Variant T = Split("Bonjour,Bonsoir", ",") If TypeName(T) = "String()" Then If UBound(T) = 0 Then 'Il y a seulement un élément Else 'il y a plusieurs éléments séparés par une vi rgule End If End If End Sub '--------------------------------------------- MichD
Bonjour MichD,
Déclaration :
Dim Tmp as Variant
Induit une erreur sur la ligne :
TXT = TXT & Concat(Tmp)
Essaie comme ceci :
'---------------------------------------------
Dim T As Variant
T = Split("Bonjour,Bonsoir", ",")
If TypeName(T) = "String()" Then
If UBound(T) = 0 Then
'Il y a seulement un élément
Else
'il y a plusieurs éléments séparés par une vi rgule
End If
End If
End Sub
'---------------------------------------------
Bonjour MichD, Déclaration : Dim Tmp as Variant Induit une erreur sur la ligne : TXT = TXT & Concat(Tmp)
Essaie comme ceci : '--------------------------------------------- Dim T As Variant T = Split("Bonjour,Bonsoir", ",") If TypeName(T) = "String()" Then If UBound(T) = 0 Then 'Il y a seulement un élément Else 'il y a plusieurs éléments séparés par une vi rgule End If End If End Sub '--------------------------------------------- MichD
Jacquouille
Bonsoir, TXT ne fait pas partie des mots-clés d' Excel, comme Somme, time .... ? Jacques " Le vin est au repas ce que le parfum est à la femme." . "Apitos" a écrit dans le message de groupe de discussion : Bonjour MichD, Déclaration : Dim Tmp as Variant Induit une erreur sur la ligne : TXT = TXT & Concat(Tmp)
Essaie comme ceci : '--------------------------------------------- Dim T As Variant T = Split("Bonjour,Bonsoir", ",") If TypeName(T) = "String()" Then If UBound(T) = 0 Then 'Il y a seulement un élément Else 'il y a plusieurs éléments séparés par une virgule End If End If End Sub '--------------------------------------------- MichD
Bonsoir,
TXT ne fait pas partie des mots-clés d' Excel, comme Somme, time .... ?
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Apitos" a écrit dans le message de groupe de discussion :
b7ff52e7-f1fb-44b3-9db0-41041843bc37@googlegroups.com...
Bonjour MichD,
Déclaration :
Dim Tmp as Variant
Induit une erreur sur la ligne :
TXT = TXT & Concat(Tmp)
Essaie comme ceci :
'---------------------------------------------
Dim T As Variant
T = Split("Bonjour,Bonsoir", ",")
If TypeName(T) = "String()" Then
If UBound(T) = 0 Then
'Il y a seulement un élément
Else
'il y a plusieurs éléments séparés par une virgule
End If
End If
End Sub
'---------------------------------------------
Bonsoir, TXT ne fait pas partie des mots-clés d' Excel, comme Somme, time .... ? Jacques " Le vin est au repas ce que le parfum est à la femme." . "Apitos" a écrit dans le message de groupe de discussion : Bonjour MichD, Déclaration : Dim Tmp as Variant Induit une erreur sur la ligne : TXT = TXT & Concat(Tmp)
Essaie comme ceci : '--------------------------------------------- Dim T As Variant T = Split("Bonjour,Bonsoir", ",") If TypeName(T) = "String()" Then If UBound(T) = 0 Then 'Il y a seulement un élément Else 'il y a plusieurs éléments séparés par une virgule End If End If End Sub '--------------------------------------------- MichD
Michd
Cette ligne de code est impossible TXT = TXT & Concat(Tmp) Si tmp = split(Expression,",") La variable TMP est une variable de type tableau. Une variable "TXT" de type "String" ne peut pas concaténer une valeur de type string avec un tableau, et le contenu d'une variable de tpye "Tableau". Cependant, tu peux concaténer une variable string avec le contenu d'un élément du tableau. Regarde l'exemple suivant : '-------------------------------------------- Sub test() Dim Tmp As Variant Dim Txt As String Tmp = Split("Bonjour,Bonsoir", ",") Txt = "toto" 'T(0) = Premier élément du tableau tmp 't(1) = deuxième élément du tableau tmp 'Si tu veux concaténer la valeur dans Txt et Tmp(0) Txt = Txt & ", " & (Tmp(0)) MsgBox Txt 'Pour appeler la fonction "Concaténer de la feuille de calcul 'Fais comme ceci, mais elle est boguée et ne fonctionne Excel 2016 'utilise plutôt la méthode précédente avec & MsgBox Application.WorksheetFunction.Concat("loto", "gagnant") End Sub '-------------------------------------------- MichD "Apitos" a écrit dans le message de groupe de discussion : Bonjour MichD, Déclaration : Dim Tmp as Variant Induit une erreur sur la ligne : TXT = TXT & Concat(Tmp)
Essaie comme ceci : '--------------------------------------------- Dim T As Variant T = Split("Bonjour,Bonsoir", ",") If TypeName(T) = "String()" Then If UBound(T) = 0 Then 'Il y a seulement un élément Else 'il y a plusieurs éléments séparés par une virgule End If End If End Sub '--------------------------------------------- MichD
Cette ligne de code est impossible
TXT = TXT & Concat(Tmp)
Si tmp = split(Expression,",")
La variable TMP est une variable de type tableau. Une variable "TXT" de type
"String" ne peut pas concaténer une valeur de type string avec un tableau,
et le contenu d'une variable de tpye "Tableau". Cependant, tu peux
concaténer une variable string avec le contenu d'un élément du tableau.
Regarde l'exemple suivant :
'--------------------------------------------
Sub test()
Dim Tmp As Variant
Dim Txt As String
Tmp = Split("Bonjour,Bonsoir", ",")
Txt = "toto"
'T(0) = Premier élément du tableau tmp
't(1) = deuxième élément du tableau tmp
'Si tu veux concaténer la valeur dans Txt et Tmp(0)
Txt = Txt & ", " & (Tmp(0))
MsgBox Txt
'Pour appeler la fonction "Concaténer de la feuille de calcul
'Fais comme ceci, mais elle est boguée et ne fonctionne Excel 2016
'utilise plutôt la méthode précédente avec &
MsgBox Application.WorksheetFunction.Concat("loto", "gagnant")
End Sub
'--------------------------------------------
MichD
"Apitos" a écrit dans le message de groupe de discussion :
b7ff52e7-f1fb-44b3-9db0-41041843bc37@googlegroups.com...
Bonjour MichD,
Déclaration :
Dim Tmp as Variant
Induit une erreur sur la ligne :
TXT = TXT & Concat(Tmp)
Essaie comme ceci :
'---------------------------------------------
Dim T As Variant
T = Split("Bonjour,Bonsoir", ",")
If TypeName(T) = "String()" Then
If UBound(T) = 0 Then
'Il y a seulement un élément
Else
'il y a plusieurs éléments séparés par une virgule
End If
End If
End Sub
'---------------------------------------------
Cette ligne de code est impossible TXT = TXT & Concat(Tmp) Si tmp = split(Expression,",") La variable TMP est une variable de type tableau. Une variable "TXT" de type "String" ne peut pas concaténer une valeur de type string avec un tableau, et le contenu d'une variable de tpye "Tableau". Cependant, tu peux concaténer une variable string avec le contenu d'un élément du tableau. Regarde l'exemple suivant : '-------------------------------------------- Sub test() Dim Tmp As Variant Dim Txt As String Tmp = Split("Bonjour,Bonsoir", ",") Txt = "toto" 'T(0) = Premier élément du tableau tmp 't(1) = deuxième élément du tableau tmp 'Si tu veux concaténer la valeur dans Txt et Tmp(0) Txt = Txt & ", " & (Tmp(0)) MsgBox Txt 'Pour appeler la fonction "Concaténer de la feuille de calcul 'Fais comme ceci, mais elle est boguée et ne fonctionne Excel 2016 'utilise plutôt la méthode précédente avec & MsgBox Application.WorksheetFunction.Concat("loto", "gagnant") End Sub '-------------------------------------------- MichD "Apitos" a écrit dans le message de groupe de discussion : Bonjour MichD, Déclaration : Dim Tmp as Variant Induit une erreur sur la ligne : TXT = TXT & Concat(Tmp)
Essaie comme ceci : '--------------------------------------------- Dim T As Variant T = Split("Bonjour,Bonsoir", ",") If TypeName(T) = "String()" Then If UBound(T) = 0 Then 'Il y a seulement un élément Else 'il y a plusieurs éléments séparés par une virgule End If End If End Sub '--------------------------------------------- MichD
Apitos
Bonjour MichD, Concat() dans mon code est une fonction. '----------- Function Concat(Tb As Variant) As String Dim i As Long For i = LBound(Tb) To UBound(Tb) Concat = Concat + Tb(i) & "," 'Enleve la virgule et ajout d'un retour à la ligne If i = UBound(Tb) Then Concat = Left(Concat, Len(Concat) - 1) & vbCrLf Next End Function '------------------- Serait-elle à l'origine de l'erreur ?
Bonjour MichD,
Concat() dans mon code est une fonction.
'-----------
Function Concat(Tb As Variant) As String
Dim i As Long
For i = LBound(Tb) To UBound(Tb)
Concat = Concat + Tb(i) & ","
'Enleve la virgule et ajout d'un retour à la ligne
If i = UBound(Tb) Then Concat = Left(Concat, Len(Concat) - 1) & vbCrLf
Next
End Function
'-------------------
Bonjour MichD, Concat() dans mon code est une fonction. '----------- Function Concat(Tb As Variant) As String Dim i As Long For i = LBound(Tb) To UBound(Tb) Concat = Concat + Tb(i) & "," 'Enleve la virgule et ajout d'un retour à la ligne If i = UBound(Tb) Then Concat = Left(Concat, Len(Concat) - 1) & vbCrLf Next End Function '------------------- Serait-elle à l'origine de l'erreur ?
Michd
Cette fonction travaille correctement. Attention, tu déclares le paramètre "TB" de ta fonction comme "Variant", par conséquent, TB peut représenter toutes sortes de type de données (Integer, Long, String, Currency, Double, siingle....) mais à la ligne suivante, dans la bouche tu utilises les fonctions "Lbound" et "Ubond" s'appliquant qu'à une variable de type "Tableau" (array). Si le contenu de la variable est autre chose qu'un tableau, tu auras obligatoirement une erreur. ATTENTION : "Concat" (Application.WorksheetFunction.Concat()) est un mot qui existe déjà dans le langage VBA. Il faut éviter d'utiliser ces expressions réservées à Excel - VBA comme nom de variables, fonctions ou procédures afin d'éviter de confondre Excel au moment de l'exécution du code. MichD
Cette fonction travaille correctement.
Attention, tu déclares le paramètre "TB" de ta fonction comme "Variant", par
conséquent, TB peut représenter toutes sortes de type de données (Integer,
Long, String, Currency, Double, siingle....) mais à la ligne suivante, dans
la bouche tu utilises les fonctions "Lbound" et "Ubond" s'appliquant qu'à
une variable de type "Tableau" (array). Si le contenu de la variable est
autre chose qu'un tableau, tu auras obligatoirement une erreur.
ATTENTION : "Concat" (Application.WorksheetFunction.Concat()) est un mot qui
existe déjà dans le langage VBA. Il faut éviter d'utiliser ces expressions
réservées à Excel - VBA comme nom de variables, fonctions ou procédures afin
d'éviter de confondre Excel au moment de l'exécution du code.
Cette fonction travaille correctement. Attention, tu déclares le paramètre "TB" de ta fonction comme "Variant", par conséquent, TB peut représenter toutes sortes de type de données (Integer, Long, String, Currency, Double, siingle....) mais à la ligne suivante, dans la bouche tu utilises les fonctions "Lbound" et "Ubond" s'appliquant qu'à une variable de type "Tableau" (array). Si le contenu de la variable est autre chose qu'un tableau, tu auras obligatoirement une erreur. ATTENTION : "Concat" (Application.WorksheetFunction.Concat()) est un mot qui existe déjà dans le langage VBA. Il faut éviter d'utiliser ces expressions réservées à Excel - VBA comme nom de variables, fonctions ou procédures afin d'éviter de confondre Excel au moment de l'exécution du code. MichD