Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
donc
> windows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
donc
> windows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
donc
> windows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire
par défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" a écrit dans le message de news:Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
donc
> windows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire
par défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
uzwbzArmJHA.4140@TK2MSFTNGP05.phx.gbl...
Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
donc
> windows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire
par défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" a écrit dans le message de news:Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
donc
> windows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire par
défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" a écrit dans le message de news:Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
doncwindows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire par
défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
uzwbzArmJHA.4140@TK2MSFTNGP05.phx.gbl...
Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
donc
windows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire par
défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" a écrit dans le message de news:Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
doncwindows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire par
défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" a écrit dans le message de news:Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
doncwindows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire par
défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
uzwbzArmJHA.4140@TK2MSFTNGP05.phx.gbl...
Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
donc
windows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire par
défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="", FieldInfo
_
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" a écrit dans le message de news:Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
doncwindows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Stop !
La macro était lancée par un CommandButton, donc il fallait la référence de
la feuille à chaque fois.
Avec un bouton de macro "normal" pas besoin;
Merci LSteph, tu m'as mis sur la voie.
Bonne fin de soirée
"Unss34" <unss34(a_enlever)@free.fr> a écrit dans le message de news:
%Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire
par défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" a écrit dans le message de news:Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
doncwindows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Stop !
La macro était lancée par un CommandButton, donc il fallait la référence de
la feuille à chaque fois.
Avec un bouton de macro "normal" pas besoin;
Merci LSteph, tu m'as mis sur la voie.
Bonne fin de soirée
"Unss34" <unss34(a_enlever)@free.fr> a écrit dans le message de news:
%23wfgEKrmJHA.5980@TK2MSFTNGP06.phx.gbl...
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire
par défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
uzwbzArmJHA.4140@TK2MSFTNGP05.phx.gbl...
Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
donc
windows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
Stop !
La macro était lancée par un CommandButton, donc il fallait la référence de
la feuille à chaque fois.
Avec un bouton de macro "normal" pas besoin;
Merci LSteph, tu m'as mis sur la voie.
Bonne fin de soirée
"Unss34" <unss34(a_enlever)@free.fr> a écrit dans le message de news:
%Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire
par défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" a écrit dans le message de news:Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
doncwindows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
..ou encore pour le cas suggèré
'...
Feuil1.Activate
Range("i1", [a65536].End(xlUp).Address).Copy _
Workbooks("Classeur2").Worksheets("Import").[a2]
'...
Unss34 a écrit :Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire
par défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" a écrit dans le message de news:Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
doncwindows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=
_
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
..ou encore pour le cas suggèré
'...
Feuil1.Activate
Range("i1", [a65536].End(xlUp).Address).Copy _
Workbooks("Classeur2").Worksheets("Import").[a2]
'...
Unss34 a écrit :
Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire
par défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
uzwbzArmJHA.4140@TK2MSFTNGP05.phx.gbl...
Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
donc
windows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :
Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=
_
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée
..ou encore pour le cas suggèré
'...
Feuil1.Activate
Range("i1", [a65536].End(xlUp).Address).Copy _
Workbooks("Classeur2").Worksheets("Import").[a2]
'...
Unss34 a écrit :Merci LSteph
La ligne
Windows(nomfichier).Activate
provoque une erreur 9 l'indice n'appartient pas à la sélection
Il s'agit d'ouvrir un fichier d'inscription en ligne dont le nom est
variable: je le récupère dans "nomfichier" (par exemple "escalade.txt")
la feuille a le même nom que le fichier, ici "escalade"
il s'agit de copier toutes les données de la feuille sans la ligne 1 qui
comprend les noms des champs pour les coller dans le fichier qui doit les
recevoir, dans la feuille Inscriptions; voici le code complet:
message = MsgBox("Dans la fenêtre suivante, sélectionnez le fichier des
inscriptions en ligne (vous devrez éventuellement naviguer dans les
répertoires pour retrouver ce fichier s'il n'est pas dans le répertoire
par défaut) puis cliquez sur 'Ouvrir'", vbYes)
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
Windows(nomfichier).Activate
Range("A2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows(nomclasseur).Activate
Sheets("Import").Activate
'Application.ScreenUpdating = False
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
"LSteph" a écrit dans le message de news:Bonjour,
Il manque le contexte et la définition de tout cela mais à l'évidence
.Select dans ce cas et presque toujours est une instruction inutile
Range de quelle feuille, théoriquement c'est celle active
Faudrait penser à cela...
doncwindows(nomfichier).Activate
Essaye déjà Feuil1.Activate
mais ton select qui va suivre est qd même inutile!!!
Dis moi que tu as compris.
@+
--
lSteph
Unss34 a écrit :Bonjour,
une macro doit aller chercher des données dans un fichier texte
(nomfichier); voici le passage qui ouvre le fichier:
nomfichier = Application.GetOpenFilename
If VarType(nomfichier) = vbBoolean Then MsgBox "Action annulée" _
Workbooks.OpenText Filename:=nomfichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=
_
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:úlse _
, Comma:úlse, Space:úlse, Other:=True, OtherChar:="",
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1),
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)),
TrailingMinusNumbers:=True
pas de pb jusque là, le fichier s'ouvre; quand je veux sélectionner la
plage:
Range("A2:I2").Select
j'ai une erreur 1004 alors que le focus est bien dans le fichier ouvert
j'ai rajouté:
windows(nomfichier).Activate
là j'ai une erreur "l'indice n'appartient pas à la sélection"
Pouvez-vous me dire ce qui ne va pas ?
Merci et bonne soirée