Voilà ce qui m'amène : Avec beaucoup de difficultés et beaucoup d'aide
(merci Gérard !), j'ai réussi une petite application. Elle va lire un
fichier CSV où je récupère le Matricule et le Nom. Mon soucis maintenant
c'est que le chemin du fichier en question est en dur dans la macro et que
je dois le changer à chaque fois.
J'ai trouvé un élément de réponse. Sur le site de Jacques BOISGONTIER voilà
ma découverte :
Private Sub CommandButton1_Click()
Choisir_Fichier
End Sub
Sub Choisir_Fichier()
nf = Application.GetOpenFilename("Fichiers CSV,*.csv")
If Not nf = False Then
Workbooks.Open Filename:=nf
End If
End Sub
Mais comment faire pour l'adapter dans ma procédure :
Sub LectureFichier()
f = "E:\Philippe\CG63\Atelier\Prime Annuelle 2009\TITUTEST.txt"
Ligne = 1
lg = 2
Passage = 0
Matricule1 = ""
Compteur = 0
Open f For Input As 1
While Not EOF(1)
Line Input #1, Chaine
Chaine = Trim(Chaine)
PosMat = InStr(Chaine, ";")
Matricule = Mid(Chaine, 1, PosMat - 1)
PosNom = InStr(PosMat + 1, Chaine, ";")
NomPrenom = Mid(Chaine, PosMat + 1, PosNom - PosMat - 1)
If Matricule <> Matricule1 Then
Matricule1 = Matricule
Cells(lg, 1) = Matricule
Cells(lg, 2) = NomPrenom
Compteur = Compteur + 1
lg = lg + 1
Else
Compteur = Compteur + 1
End If
Wend
Close
End Sub
Sachant que j'ai une autre procédure qui commence ainsi :
Sub Remplissage()
f = "E:\Philippe\CG63\Atelier\Prime Annuelle 2009\TITUTEST.txt"
Ligne = 1
lg = 2
NomPrenom1 = ""
Open f For Input As 1
While Not EOF(1)
Line Input #1, Chaine
Chaine = Trim(Chaine)
...
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
Philippe.R
Bonsoir, Essaye ainsi :
f = Application.GetOpenFilename("Fichiers CSV,*.csv") 'la suite de tes initialisations de paramètres If Not f = False Then Open f For Input As 1 'et la suite de ta macro endif -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Calou" a écrit dans le message de news:
Bonjour,
Voilà ce qui m'amène : Avec beaucoup de difficultés et beaucoup d'aide (merci Gérard !), j'ai réussi une petite application. Elle va lire un fichier CSV où je récupère le Matricule et le Nom. Mon soucis maintenant c'est que le chemin du fichier en question est en dur dans la macro et que je dois le changer à chaque fois.
J'ai trouvé un élément de réponse. Sur le site de Jacques BOISGONTIER voilà ma découverte :
Private Sub CommandButton1_Click() Choisir_Fichier End Sub Sub Choisir_Fichier() nf = Application.GetOpenFilename("Fichiers CSV,*.csv") If Not nf = False Then Workbooks.Open Filename:=nf End If End Sub
Mais comment faire pour l'adapter dans ma procédure :
Sub LectureFichier() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 Passage = 0 Matricule1 = "" Compteur = 0 Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) PosMat = InStr(Chaine, ";") Matricule = Mid(Chaine, 1, PosMat - 1) PosNom = InStr(PosMat + 1, Chaine, ";") NomPrenom = Mid(Chaine, PosMat + 1, PosNom - PosMat - 1) If Matricule <> Matricule1 Then Matricule1 = Matricule Cells(lg, 1) = Matricule Cells(lg, 2) = NomPrenom Compteur = Compteur + 1 lg = lg + 1 Else Compteur = Compteur + 1 End If Wend Close End Sub
Sachant que j'ai une autre procédure qui commence ainsi : Sub Remplissage() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 NomPrenom1 = "" Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) ...
Avez vous une idée ??
Un grand merci pour votre précieuse aide.
Bonne soirée.
Philippe
Bonsoir,
Essaye ainsi :
f = Application.GetOpenFilename("Fichiers CSV,*.csv")
'la suite de tes initialisations de paramètres
If Not f = False Then
Open f For Input As 1
'et la suite de ta macro
endif
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Calou" <ws@trol.com> a écrit dans le message de
news:eVnNefDyJHA.1424@TK2MSFTNGP02.phx.gbl...
Bonjour,
Voilà ce qui m'amène : Avec beaucoup de difficultés et beaucoup d'aide
(merci Gérard !), j'ai réussi une petite application. Elle va lire un
fichier CSV où je récupère le Matricule et le Nom. Mon soucis maintenant
c'est que le chemin du fichier en question est en dur dans la macro et que
je dois le changer à chaque fois.
J'ai trouvé un élément de réponse. Sur le site de Jacques BOISGONTIER
voilà ma découverte :
Private Sub CommandButton1_Click()
Choisir_Fichier
End Sub
Sub Choisir_Fichier()
nf = Application.GetOpenFilename("Fichiers CSV,*.csv")
If Not nf = False Then
Workbooks.Open Filename:=nf
End If
End Sub
Mais comment faire pour l'adapter dans ma procédure :
Sub LectureFichier()
f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt"
Ligne = 1
lg = 2
Passage = 0
Matricule1 = ""
Compteur = 0
Open f For Input As 1
While Not EOF(1)
Line Input #1, Chaine
Chaine = Trim(Chaine)
PosMat = InStr(Chaine, ";")
Matricule = Mid(Chaine, 1, PosMat - 1)
PosNom = InStr(PosMat + 1, Chaine, ";")
NomPrenom = Mid(Chaine, PosMat + 1, PosNom - PosMat - 1)
If Matricule <> Matricule1 Then
Matricule1 = Matricule
Cells(lg, 1) = Matricule
Cells(lg, 2) = NomPrenom
Compteur = Compteur + 1
lg = lg + 1
Else
Compteur = Compteur + 1
End If
Wend
Close
End Sub
Sachant que j'ai une autre procédure qui commence ainsi :
Sub Remplissage()
f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt"
Ligne = 1
lg = 2
NomPrenom1 = ""
Open f For Input As 1
While Not EOF(1)
Line Input #1, Chaine
Chaine = Trim(Chaine)
...
f = Application.GetOpenFilename("Fichiers CSV,*.csv") 'la suite de tes initialisations de paramètres If Not f = False Then Open f For Input As 1 'et la suite de ta macro endif -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Calou" a écrit dans le message de news:
Bonjour,
Voilà ce qui m'amène : Avec beaucoup de difficultés et beaucoup d'aide (merci Gérard !), j'ai réussi une petite application. Elle va lire un fichier CSV où je récupère le Matricule et le Nom. Mon soucis maintenant c'est que le chemin du fichier en question est en dur dans la macro et que je dois le changer à chaque fois.
J'ai trouvé un élément de réponse. Sur le site de Jacques BOISGONTIER voilà ma découverte :
Private Sub CommandButton1_Click() Choisir_Fichier End Sub Sub Choisir_Fichier() nf = Application.GetOpenFilename("Fichiers CSV,*.csv") If Not nf = False Then Workbooks.Open Filename:=nf End If End Sub
Mais comment faire pour l'adapter dans ma procédure :
Sub LectureFichier() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 Passage = 0 Matricule1 = "" Compteur = 0 Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) PosMat = InStr(Chaine, ";") Matricule = Mid(Chaine, 1, PosMat - 1) PosNom = InStr(PosMat + 1, Chaine, ";") NomPrenom = Mid(Chaine, PosMat + 1, PosNom - PosMat - 1) If Matricule <> Matricule1 Then Matricule1 = Matricule Cells(lg, 1) = Matricule Cells(lg, 2) = NomPrenom Compteur = Compteur + 1 lg = lg + 1 Else Compteur = Compteur + 1 End If Wend Close End Sub
Sachant que j'ai une autre procédure qui commence ainsi : Sub Remplissage() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 NomPrenom1 = "" Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) ...
Avez vous une idée ??
Un grand merci pour votre précieuse aide.
Bonne soirée.
Philippe
Calou
Bonjour Philippe,
Un grand merci à toi pour ta réponse. Ca marche du tonnerre. Par contre mon incompétence me rattrape vite car je ne sais pas comment faire
J'ai plusieurs procédure qui s'enchainent et je pensais demander l'ouverture du fichier une fois pour toute. Il me met "Erreur de compilation - Attribut incorrect dans la procédure" au niveau Public F as String
Sub TraitComplet() Public F As String F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") LectureFichier MsgBox "Traitement effectué !", vbOKOnly, "Lecture du Fichier" CreationOnglet MsgBox "Traitement effectué !", vbOKOnly, "Création des Onglets" Remplissage MsgBox "Traitement effectué !", vbOKOnly, "Alimentation des Fiches Individuelles" End Sub Sub LectureFichier() F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") Ligne = 1 lg = 2 Passage = 0 Matricule1 = "" Compteur = 0 Open F For Input As 1 While Not EOF(1) ... Sub Remplissage() F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") Ligne = 1 lg = 2 NomPrenom1 = "" Open F For Input As 1 While Not EOF(1)
Un grand merci pour votre aide.
Bonne journée
Philippe
"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news: %
Bonsoir, Essaye ainsi :
f = Application.GetOpenFilename("Fichiers CSV,*.csv") 'la suite de tes initialisations de paramètres If Not f = False Then Open f For Input As 1 'et la suite de ta macro endif -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Calou" a écrit dans le message de news:
Bonjour,
Voilà ce qui m'amène : Avec beaucoup de difficultés et beaucoup d'aide (merci Gérard !), j'ai réussi une petite application. Elle va lire un fichier CSV où je récupère le Matricule et le Nom. Mon soucis maintenant c'est que le chemin du fichier en question est en dur dans la macro et que je dois le changer à chaque fois.
J'ai trouvé un élément de réponse. Sur le site de Jacques BOISGONTIER voilà ma découverte :
Private Sub CommandButton1_Click() Choisir_Fichier End Sub Sub Choisir_Fichier() nf = Application.GetOpenFilename("Fichiers CSV,*.csv") If Not nf = False Then Workbooks.Open Filename:=nf End If End Sub
Mais comment faire pour l'adapter dans ma procédure :
Sub LectureFichier() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 Passage = 0 Matricule1 = "" Compteur = 0 Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) PosMat = InStr(Chaine, ";") Matricule = Mid(Chaine, 1, PosMat - 1) PosNom = InStr(PosMat + 1, Chaine, ";") NomPrenom = Mid(Chaine, PosMat + 1, PosNom - PosMat - 1) If Matricule <> Matricule1 Then Matricule1 = Matricule Cells(lg, 1) = Matricule Cells(lg, 2) = NomPrenom Compteur = Compteur + 1 lg = lg + 1 Else Compteur = Compteur + 1 End If Wend Close End Sub
Sachant que j'ai une autre procédure qui commence ainsi : Sub Remplissage() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 NomPrenom1 = "" Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) ...
Avez vous une idée ??
Un grand merci pour votre précieuse aide.
Bonne soirée.
Philippe
Bonjour Philippe,
Un grand merci à toi pour ta réponse. Ca marche du tonnerre.
Par contre mon incompétence me rattrape vite car je ne sais pas comment
faire
J'ai plusieurs procédure qui s'enchainent et je pensais demander l'ouverture
du fichier une fois pour toute.
Il me met "Erreur de compilation - Attribut incorrect dans la procédure" au
niveau Public F as String
Sub TraitComplet()
Public F As String
F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers
Texte,*.txt")
LectureFichier
MsgBox "Traitement effectué !", vbOKOnly, "Lecture du Fichier"
CreationOnglet
MsgBox "Traitement effectué !", vbOKOnly, "Création des Onglets"
Remplissage
MsgBox "Traitement effectué !", vbOKOnly, "Alimentation des Fiches
Individuelles"
End Sub
Sub LectureFichier()
F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt")
Ligne = 1
lg = 2
Passage = 0
Matricule1 = ""
Compteur = 0
Open F For Input As 1
While Not EOF(1)
...
Sub Remplissage()
F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt")
Ligne = 1
lg = 2
NomPrenom1 = ""
Open F For Input As 1
While Not EOF(1)
Un grand merci pour votre aide.
Bonne journée
Philippe
"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:
%23HIpWtDyJHA.480@TK2MSFTNGP06.phx.gbl...
Bonsoir,
Essaye ainsi :
f = Application.GetOpenFilename("Fichiers CSV,*.csv")
'la suite de tes initialisations de paramètres
If Not f = False Then
Open f For Input As 1
'et la suite de ta macro
endif
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Calou" <ws@trol.com> a écrit dans le message de
news:eVnNefDyJHA.1424@TK2MSFTNGP02.phx.gbl...
Bonjour,
Voilà ce qui m'amène : Avec beaucoup de difficultés et beaucoup d'aide
(merci Gérard !), j'ai réussi une petite application. Elle va lire un
fichier CSV où je récupère le Matricule et le Nom. Mon soucis maintenant
c'est que le chemin du fichier en question est en dur dans la macro et
que je dois le changer à chaque fois.
J'ai trouvé un élément de réponse. Sur le site de Jacques BOISGONTIER
voilà ma découverte :
Private Sub CommandButton1_Click()
Choisir_Fichier
End Sub
Sub Choisir_Fichier()
nf = Application.GetOpenFilename("Fichiers CSV,*.csv")
If Not nf = False Then
Workbooks.Open Filename:=nf
End If
End Sub
Mais comment faire pour l'adapter dans ma procédure :
Sub LectureFichier()
f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt"
Ligne = 1
lg = 2
Passage = 0
Matricule1 = ""
Compteur = 0
Open f For Input As 1
While Not EOF(1)
Line Input #1, Chaine
Chaine = Trim(Chaine)
PosMat = InStr(Chaine, ";")
Matricule = Mid(Chaine, 1, PosMat - 1)
PosNom = InStr(PosMat + 1, Chaine, ";")
NomPrenom = Mid(Chaine, PosMat + 1, PosNom - PosMat - 1)
If Matricule <> Matricule1 Then
Matricule1 = Matricule
Cells(lg, 1) = Matricule
Cells(lg, 2) = NomPrenom
Compteur = Compteur + 1
lg = lg + 1
Else
Compteur = Compteur + 1
End If
Wend
Close
End Sub
Sachant que j'ai une autre procédure qui commence ainsi :
Sub Remplissage()
f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt"
Ligne = 1
lg = 2
NomPrenom1 = ""
Open f For Input As 1
While Not EOF(1)
Line Input #1, Chaine
Chaine = Trim(Chaine)
...
Un grand merci à toi pour ta réponse. Ca marche du tonnerre. Par contre mon incompétence me rattrape vite car je ne sais pas comment faire
J'ai plusieurs procédure qui s'enchainent et je pensais demander l'ouverture du fichier une fois pour toute. Il me met "Erreur de compilation - Attribut incorrect dans la procédure" au niveau Public F as String
Sub TraitComplet() Public F As String F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") LectureFichier MsgBox "Traitement effectué !", vbOKOnly, "Lecture du Fichier" CreationOnglet MsgBox "Traitement effectué !", vbOKOnly, "Création des Onglets" Remplissage MsgBox "Traitement effectué !", vbOKOnly, "Alimentation des Fiches Individuelles" End Sub Sub LectureFichier() F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") Ligne = 1 lg = 2 Passage = 0 Matricule1 = "" Compteur = 0 Open F For Input As 1 While Not EOF(1) ... Sub Remplissage() F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") Ligne = 1 lg = 2 NomPrenom1 = "" Open F For Input As 1 While Not EOF(1)
Un grand merci pour votre aide.
Bonne journée
Philippe
"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news: %
Bonsoir, Essaye ainsi :
f = Application.GetOpenFilename("Fichiers CSV,*.csv") 'la suite de tes initialisations de paramètres If Not f = False Then Open f For Input As 1 'et la suite de ta macro endif -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Calou" a écrit dans le message de news:
Bonjour,
Voilà ce qui m'amène : Avec beaucoup de difficultés et beaucoup d'aide (merci Gérard !), j'ai réussi une petite application. Elle va lire un fichier CSV où je récupère le Matricule et le Nom. Mon soucis maintenant c'est que le chemin du fichier en question est en dur dans la macro et que je dois le changer à chaque fois.
J'ai trouvé un élément de réponse. Sur le site de Jacques BOISGONTIER voilà ma découverte :
Private Sub CommandButton1_Click() Choisir_Fichier End Sub Sub Choisir_Fichier() nf = Application.GetOpenFilename("Fichiers CSV,*.csv") If Not nf = False Then Workbooks.Open Filename:=nf End If End Sub
Mais comment faire pour l'adapter dans ma procédure :
Sub LectureFichier() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 Passage = 0 Matricule1 = "" Compteur = 0 Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) PosMat = InStr(Chaine, ";") Matricule = Mid(Chaine, 1, PosMat - 1) PosNom = InStr(PosMat + 1, Chaine, ";") NomPrenom = Mid(Chaine, PosMat + 1, PosNom - PosMat - 1) If Matricule <> Matricule1 Then Matricule1 = Matricule Cells(lg, 1) = Matricule Cells(lg, 2) = NomPrenom Compteur = Compteur + 1 lg = lg + 1 Else Compteur = Compteur + 1 End If Wend Close End Sub
Sachant que j'ai une autre procédure qui commence ainsi : Sub Remplissage() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 NomPrenom1 = "" Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) ...
Avez vous une idée ??
Un grand merci pour votre précieuse aide.
Bonne soirée.
Philippe
Philippe.R
Bonjour, La déclaration public serait mieux en tête de module (en dehors de la procédure) -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Calou" a écrit dans le message de news:
Bonjour Philippe,
Un grand merci à toi pour ta réponse. Ca marche du tonnerre. Par contre mon incompétence me rattrape vite car je ne sais pas comment faire
J'ai plusieurs procédure qui s'enchainent et je pensais demander l'ouverture du fichier une fois pour toute. Il me met "Erreur de compilation - Attribut incorrect dans la procédure" au niveau Public F as String
Sub TraitComplet() Public F As String F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") LectureFichier MsgBox "Traitement effectué !", vbOKOnly, "Lecture du Fichier" CreationOnglet MsgBox "Traitement effectué !", vbOKOnly, "Création des Onglets" Remplissage MsgBox "Traitement effectué !", vbOKOnly, "Alimentation des Fiches Individuelles" End Sub Sub LectureFichier() F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") Ligne = 1 lg = 2 Passage = 0 Matricule1 = "" Compteur = 0 Open F For Input As 1 While Not EOF(1) ... Sub Remplissage() F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") Ligne = 1 lg = 2 NomPrenom1 = "" Open F For Input As 1 While Not EOF(1)
Un grand merci pour votre aide.
Bonne journée
Philippe
"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news: %
Bonsoir, Essaye ainsi :
f = Application.GetOpenFilename("Fichiers CSV,*.csv") 'la suite de tes initialisations de paramètres If Not f = False Then Open f For Input As 1 'et la suite de ta macro endif -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Calou" a écrit dans le message de news:
Bonjour,
Voilà ce qui m'amène : Avec beaucoup de difficultés et beaucoup d'aide (merci Gérard !), j'ai réussi une petite application. Elle va lire un fichier CSV où je récupère le Matricule et le Nom. Mon soucis maintenant c'est que le chemin du fichier en question est en dur dans la macro et que je dois le changer à chaque fois.
J'ai trouvé un élément de réponse. Sur le site de Jacques BOISGONTIER voilà ma découverte :
Private Sub CommandButton1_Click() Choisir_Fichier End Sub Sub Choisir_Fichier() nf = Application.GetOpenFilename("Fichiers CSV,*.csv") If Not nf = False Then Workbooks.Open Filename:=nf End If End Sub
Mais comment faire pour l'adapter dans ma procédure :
Sub LectureFichier() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 Passage = 0 Matricule1 = "" Compteur = 0 Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) PosMat = InStr(Chaine, ";") Matricule = Mid(Chaine, 1, PosMat - 1) PosNom = InStr(PosMat + 1, Chaine, ";") NomPrenom = Mid(Chaine, PosMat + 1, PosNom - PosMat - 1) If Matricule <> Matricule1 Then Matricule1 = Matricule Cells(lg, 1) = Matricule Cells(lg, 2) = NomPrenom Compteur = Compteur + 1 lg = lg + 1 Else Compteur = Compteur + 1 End If Wend Close End Sub
Sachant que j'ai une autre procédure qui commence ainsi : Sub Remplissage() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 NomPrenom1 = "" Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) ...
Avez vous une idée ??
Un grand merci pour votre précieuse aide.
Bonne soirée.
Philippe
Bonjour,
La déclaration public serait mieux en tête de module (en dehors de la
procédure)
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Calou" <ws@trol.com> a écrit dans le message de
news:uPb4LEIyJHA.4444@TK2MSFTNGP05.phx.gbl...
Bonjour Philippe,
Un grand merci à toi pour ta réponse. Ca marche du tonnerre.
Par contre mon incompétence me rattrape vite car je ne sais pas comment
faire
J'ai plusieurs procédure qui s'enchainent et je pensais demander
l'ouverture du fichier une fois pour toute.
Il me met "Erreur de compilation - Attribut incorrect dans la procédure"
au niveau Public F as String
Sub TraitComplet()
Public F As String
F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers
Texte,*.txt")
LectureFichier
MsgBox "Traitement effectué !", vbOKOnly, "Lecture du Fichier"
CreationOnglet
MsgBox "Traitement effectué !", vbOKOnly, "Création des Onglets"
Remplissage
MsgBox "Traitement effectué !", vbOKOnly, "Alimentation des Fiches
Individuelles"
End Sub
Sub LectureFichier()
F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt")
Ligne = 1
lg = 2
Passage = 0
Matricule1 = ""
Compteur = 0
Open F For Input As 1
While Not EOF(1)
...
Sub Remplissage()
F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt")
Ligne = 1
lg = 2
NomPrenom1 = ""
Open F For Input As 1
While Not EOF(1)
Un grand merci pour votre aide.
Bonne journée
Philippe
"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:
%23HIpWtDyJHA.480@TK2MSFTNGP06.phx.gbl...
Bonsoir,
Essaye ainsi :
f = Application.GetOpenFilename("Fichiers CSV,*.csv")
'la suite de tes initialisations de paramètres
If Not f = False Then
Open f For Input As 1
'et la suite de ta macro
endif
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Calou" <ws@trol.com> a écrit dans le message de
news:eVnNefDyJHA.1424@TK2MSFTNGP02.phx.gbl...
Bonjour,
Voilà ce qui m'amène : Avec beaucoup de difficultés et beaucoup d'aide
(merci Gérard !), j'ai réussi une petite application. Elle va lire un
fichier CSV où je récupère le Matricule et le Nom. Mon soucis maintenant
c'est que le chemin du fichier en question est en dur dans la macro et
que je dois le changer à chaque fois.
J'ai trouvé un élément de réponse. Sur le site de Jacques BOISGONTIER
voilà ma découverte :
Private Sub CommandButton1_Click()
Choisir_Fichier
End Sub
Sub Choisir_Fichier()
nf = Application.GetOpenFilename("Fichiers CSV,*.csv")
If Not nf = False Then
Workbooks.Open Filename:=nf
End If
End Sub
Mais comment faire pour l'adapter dans ma procédure :
Sub LectureFichier()
f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt"
Ligne = 1
lg = 2
Passage = 0
Matricule1 = ""
Compteur = 0
Open f For Input As 1
While Not EOF(1)
Line Input #1, Chaine
Chaine = Trim(Chaine)
PosMat = InStr(Chaine, ";")
Matricule = Mid(Chaine, 1, PosMat - 1)
PosNom = InStr(PosMat + 1, Chaine, ";")
NomPrenom = Mid(Chaine, PosMat + 1, PosNom - PosMat - 1)
If Matricule <> Matricule1 Then
Matricule1 = Matricule
Cells(lg, 1) = Matricule
Cells(lg, 2) = NomPrenom
Compteur = Compteur + 1
lg = lg + 1
Else
Compteur = Compteur + 1
End If
Wend
Close
End Sub
Sachant que j'ai une autre procédure qui commence ainsi :
Sub Remplissage()
f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt"
Ligne = 1
lg = 2
NomPrenom1 = ""
Open f For Input As 1
While Not EOF(1)
Line Input #1, Chaine
Chaine = Trim(Chaine)
...
Bonjour, La déclaration public serait mieux en tête de module (en dehors de la procédure) -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Calou" a écrit dans le message de news:
Bonjour Philippe,
Un grand merci à toi pour ta réponse. Ca marche du tonnerre. Par contre mon incompétence me rattrape vite car je ne sais pas comment faire
J'ai plusieurs procédure qui s'enchainent et je pensais demander l'ouverture du fichier une fois pour toute. Il me met "Erreur de compilation - Attribut incorrect dans la procédure" au niveau Public F as String
Sub TraitComplet() Public F As String F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") LectureFichier MsgBox "Traitement effectué !", vbOKOnly, "Lecture du Fichier" CreationOnglet MsgBox "Traitement effectué !", vbOKOnly, "Création des Onglets" Remplissage MsgBox "Traitement effectué !", vbOKOnly, "Alimentation des Fiches Individuelles" End Sub Sub LectureFichier() F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") Ligne = 1 lg = 2 Passage = 0 Matricule1 = "" Compteur = 0 Open F For Input As 1 While Not EOF(1) ... Sub Remplissage() F = Application.GetOpenFilename("Fichiers CSV,*.csv,Fichiers Texte,*.txt") Ligne = 1 lg = 2 NomPrenom1 = "" Open F For Input As 1 While Not EOF(1)
Un grand merci pour votre aide.
Bonne journée
Philippe
"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news: %
Bonsoir, Essaye ainsi :
f = Application.GetOpenFilename("Fichiers CSV,*.csv") 'la suite de tes initialisations de paramètres If Not f = False Then Open f For Input As 1 'et la suite de ta macro endif -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Calou" a écrit dans le message de news:
Bonjour,
Voilà ce qui m'amène : Avec beaucoup de difficultés et beaucoup d'aide (merci Gérard !), j'ai réussi une petite application. Elle va lire un fichier CSV où je récupère le Matricule et le Nom. Mon soucis maintenant c'est que le chemin du fichier en question est en dur dans la macro et que je dois le changer à chaque fois.
J'ai trouvé un élément de réponse. Sur le site de Jacques BOISGONTIER voilà ma découverte :
Private Sub CommandButton1_Click() Choisir_Fichier End Sub Sub Choisir_Fichier() nf = Application.GetOpenFilename("Fichiers CSV,*.csv") If Not nf = False Then Workbooks.Open Filename:=nf End If End Sub
Mais comment faire pour l'adapter dans ma procédure :
Sub LectureFichier() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 Passage = 0 Matricule1 = "" Compteur = 0 Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) PosMat = InStr(Chaine, ";") Matricule = Mid(Chaine, 1, PosMat - 1) PosNom = InStr(PosMat + 1, Chaine, ";") NomPrenom = Mid(Chaine, PosMat + 1, PosNom - PosMat - 1) If Matricule <> Matricule1 Then Matricule1 = Matricule Cells(lg, 1) = Matricule Cells(lg, 2) = NomPrenom Compteur = Compteur + 1 lg = lg + 1 Else Compteur = Compteur + 1 End If Wend Close End Sub
Sachant que j'ai une autre procédure qui commence ainsi : Sub Remplissage() f = "E:PhilippeCG63AtelierPrime Annuelle 2009TITUTEST.txt" Ligne = 1 lg = 2 NomPrenom1 = "" Open f For Input As 1 While Not EOF(1) Line Input #1, Chaine Chaine = Trim(Chaine) ...