-----Message d'origine-----
Salut Charles,
En espérant avoir à peu près compris se que tu veux
(adapte de toutes
façon). La proc est à mettre dans le module de ta
feuille. Si la valeur
change dans la cellule I5 alors la proc est exécutée. A
toi de voir si cela
te convient comme début sinon revient :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cl As Workbook
Dim NomClasseur As String
Dim Chemin As String
If Not Intersect(Target, [I5]) Is Nothing Then
NomClasseur = Cells(5, 9) & ".xls"
Chemin = InputBox("Indiquez le chemin du classeur '" _
& NomClasseur & "'", "Chemin.")
If Chemin = "" Then MsgBox "Le champ est vide, le
classeur '" _
& NomClasseur & "' ne sera pas ouvert !": Exit Sub
If Right(Chemin, 1) <> "" Then Chemin = Chemin & ""
If Dir(Chemin & NomClasseur) <> "" Then
Set Cl = Workbooks.Open(Chemin & NomClasseur)
Else
MsgBox "Le classeur :'" _
& NomClasseur & "' n'existe pas !" & _
" ou le chemin :'" & Chemin & "' n'est pas
valide." _
& vbCrLf & vbCrLf & "Vérifiez l'orthographe !"
Exit Sub
End If
'ici ton code de traitement...
End If
Set Cl = Nothing
End Sub
Hervé.
"Charles" a écrit dans le message
news:
07e101c35a9a$01ce3320$
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
-----Message d'origine-----
Salut Charles,
En espérant avoir à peu près compris se que tu veux
(adapte de toutes
façon). La proc est à mettre dans le module de ta
feuille. Si la valeur
change dans la cellule I5 alors la proc est exécutée. A
toi de voir si cela
te convient comme début sinon revient :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cl As Workbook
Dim NomClasseur As String
Dim Chemin As String
If Not Intersect(Target, [I5]) Is Nothing Then
NomClasseur = Cells(5, 9) & ".xls"
Chemin = InputBox("Indiquez le chemin du classeur '" _
& NomClasseur & "'", "Chemin.")
If Chemin = "" Then MsgBox "Le champ est vide, le
classeur '" _
& NomClasseur & "' ne sera pas ouvert !": Exit Sub
If Right(Chemin, 1) <> "" Then Chemin = Chemin & ""
If Dir(Chemin & NomClasseur) <> "" Then
Set Cl = Workbooks.Open(Chemin & NomClasseur)
Else
MsgBox "Le classeur :'" _
& NomClasseur & "' n'existe pas !" & _
" ou le chemin :'" & Chemin & "' n'est pas
valide." _
& vbCrLf & vbCrLf & "Vérifiez l'orthographe !"
Exit Sub
End If
'ici ton code de traitement...
End If
Set Cl = Nothing
End Sub
Hervé.
"Charles" <charlesamir@yahoo.fr> a écrit dans le message
news:
07e101c35a9a$01ce3320$a601280a@phx.gbl...
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
-----Message d'origine-----
Salut Charles,
En espérant avoir à peu près compris se que tu veux
(adapte de toutes
façon). La proc est à mettre dans le module de ta
feuille. Si la valeur
change dans la cellule I5 alors la proc est exécutée. A
toi de voir si cela
te convient comme début sinon revient :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cl As Workbook
Dim NomClasseur As String
Dim Chemin As String
If Not Intersect(Target, [I5]) Is Nothing Then
NomClasseur = Cells(5, 9) & ".xls"
Chemin = InputBox("Indiquez le chemin du classeur '" _
& NomClasseur & "'", "Chemin.")
If Chemin = "" Then MsgBox "Le champ est vide, le
classeur '" _
& NomClasseur & "' ne sera pas ouvert !": Exit Sub
If Right(Chemin, 1) <> "" Then Chemin = Chemin & ""
If Dir(Chemin & NomClasseur) <> "" Then
Set Cl = Workbooks.Open(Chemin & NomClasseur)
Else
MsgBox "Le classeur :'" _
& NomClasseur & "' n'existe pas !" & _
" ou le chemin :'" & Chemin & "' n'est pas
valide." _
& vbCrLf & vbCrLf & "Vérifiez l'orthographe !"
Exit Sub
End If
'ici ton code de traitement...
End If
Set Cl = Nothing
End Sub
Hervé.
"Charles" a écrit dans le message
news:
07e101c35a9a$01ce3320$
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")
Set Depart = FichierDepart.Worksheets(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)
MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" a écrit dans le message
de news: 07e101c35a9a$01ce3320$
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")
Set Depart = FichierDepart.Worksheets(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)
MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" <charlesamir@yahoo.fr> a écrit dans le message
de news: 07e101c35a9a$01ce3320$a601280a@phx.gbl...
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")
Set Depart = FichierDepart.Worksheets(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)
MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" a écrit dans le message
de news: 07e101c35a9a$01ce3320$
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")
Set Depart = FichierDepart.Worksheets(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)
MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" a écrit dans le message
de news: 07e101c35a9a$01ce3320$
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")
Set Depart = FichierDepart.Worksheets(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)
MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" <charlesamir@yahoo.fr> a écrit dans le message
de news: 07e101c35a9a$01ce3320$a601280a@phx.gbl...
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")
Set Depart = FichierDepart.Worksheets(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)
MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" a écrit dans le message
de news: 07e101c35a9a$01ce3320$
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
-----Message d'origine-----
Merci mais mon problème n'était pas d'ouvrir un classeur
mais de définir le nom d'une feuille de classeur.
Par exemple, mon classeur ouvert qui s'appelle 020603.xls
a une unique feuille qui s'appelle aussi 020603. Je veux
simplement pouvoir définir ce nom de feuille variable
(suivant ce qui est entré en cellule I5)
FichierDepart est le nom du classeur ouvert. Aucun
problème à ce niveau
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)_
& ".xls")
Par contre, Depart ne marche pas.
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
Merci d'avance et bonne journée !!-----Message d'origine-----
Salut Charles,
En espérant avoir à peu près compris se que tu veux
(adapte de toutesfaçon). La proc est à mettre dans le module de ta
feuille. Si la valeurchange dans la cellule I5 alors la proc est exécutée. A
toi de voir si celate convient comme début sinon revient :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cl As Workbook
Dim NomClasseur As String
Dim Chemin As String
If Not Intersect(Target, [I5]) Is Nothing Then
NomClasseur = Cells(5, 9) & ".xls"
Chemin = InputBox("Indiquez le chemin du classeur '"
_
& NomClasseur & "'", "Chemin.")
If Chemin = "" Then MsgBox "Le champ est vide, le
classeur '" _& NomClasseur & "' ne sera pas ouvert !": Exit
Sub
If Right(Chemin, 1) <> "" Then Chemin = Chemin & ""
If Dir(Chemin & NomClasseur) <> "" Then
Set Cl = Workbooks.Open(Chemin & NomClasseur)
Else
MsgBox "Le classeur :'" _
& NomClasseur & "' n'existe pas !" & _
" ou le chemin :'" & Chemin & "' n'est pas
valide." _& vbCrLf & vbCrLf & "Vérifiez l'orthographe !"
Exit Sub
End If
'ici ton code de traitement...
End If
Set Cl = Nothing
End Sub
Hervé.
"Charles" a écrit dans le message
news:07e101c35a9a$01ce3320$
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y
a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse
la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells
(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
.
-----Message d'origine-----
Merci mais mon problème n'était pas d'ouvrir un classeur
mais de définir le nom d'une feuille de classeur.
Par exemple, mon classeur ouvert qui s'appelle 020603.xls
a une unique feuille qui s'appelle aussi 020603. Je veux
simplement pouvoir définir ce nom de feuille variable
(suivant ce qui est entré en cellule I5)
FichierDepart est le nom du classeur ouvert. Aucun
problème à ce niveau
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)_
& ".xls")
Par contre, Depart ne marche pas.
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
Merci d'avance et bonne journée !!
-----Message d'origine-----
Salut Charles,
En espérant avoir à peu près compris se que tu veux
(adapte de toutes
façon). La proc est à mettre dans le module de ta
feuille. Si la valeur
change dans la cellule I5 alors la proc est exécutée. A
toi de voir si cela
te convient comme début sinon revient :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cl As Workbook
Dim NomClasseur As String
Dim Chemin As String
If Not Intersect(Target, [I5]) Is Nothing Then
NomClasseur = Cells(5, 9) & ".xls"
Chemin = InputBox("Indiquez le chemin du classeur '"
_
& NomClasseur & "'", "Chemin.")
If Chemin = "" Then MsgBox "Le champ est vide, le
classeur '" _
& NomClasseur & "' ne sera pas ouvert !": Exit
Sub
If Right(Chemin, 1) <> "" Then Chemin = Chemin & ""
If Dir(Chemin & NomClasseur) <> "" Then
Set Cl = Workbooks.Open(Chemin & NomClasseur)
Else
MsgBox "Le classeur :'" _
& NomClasseur & "' n'existe pas !" & _
" ou le chemin :'" & Chemin & "' n'est pas
valide." _
& vbCrLf & vbCrLf & "Vérifiez l'orthographe !"
Exit Sub
End If
'ici ton code de traitement...
End If
Set Cl = Nothing
End Sub
Hervé.
"Charles" <charlesamir@yahoo.fr> a écrit dans le message
news:
07e101c35a9a$01ce3320$a601280a@phx.gbl...
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y
a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse
la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells
(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
.
-----Message d'origine-----
Merci mais mon problème n'était pas d'ouvrir un classeur
mais de définir le nom d'une feuille de classeur.
Par exemple, mon classeur ouvert qui s'appelle 020603.xls
a une unique feuille qui s'appelle aussi 020603. Je veux
simplement pouvoir définir ce nom de feuille variable
(suivant ce qui est entré en cellule I5)
FichierDepart est le nom du classeur ouvert. Aucun
problème à ce niveau
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)_
& ".xls")
Par contre, Depart ne marche pas.
Set Depart = FichierDepart.Worksheets(Resultat.Cells(5,9))
Merci d'avance et bonne journée !!-----Message d'origine-----
Salut Charles,
En espérant avoir à peu près compris se que tu veux
(adapte de toutesfaçon). La proc est à mettre dans le module de ta
feuille. Si la valeurchange dans la cellule I5 alors la proc est exécutée. A
toi de voir si celate convient comme début sinon revient :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cl As Workbook
Dim NomClasseur As String
Dim Chemin As String
If Not Intersect(Target, [I5]) Is Nothing Then
NomClasseur = Cells(5, 9) & ".xls"
Chemin = InputBox("Indiquez le chemin du classeur '"
_
& NomClasseur & "'", "Chemin.")
If Chemin = "" Then MsgBox "Le champ est vide, le
classeur '" _& NomClasseur & "' ne sera pas ouvert !": Exit
Sub
If Right(Chemin, 1) <> "" Then Chemin = Chemin & ""
If Dir(Chemin & NomClasseur) <> "" Then
Set Cl = Workbooks.Open(Chemin & NomClasseur)
Else
MsgBox "Le classeur :'" _
& NomClasseur & "' n'existe pas !" & _
" ou le chemin :'" & Chemin & "' n'est pas
valide." _& vbCrLf & vbCrLf & "Vérifiez l'orthographe !"
Exit Sub
End If
'ici ton code de traitement...
End If
Set Cl = Nothing
End Sub
Hervé.
"Charles" a écrit dans le message
news:07e101c35a9a$01ce3320$
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y
a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse
la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells
(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
.
-----Message d'origine-----
Bonjour.
Cette proc fonctionne chez moi.
Quel message d'erreur ?
N'y aurait il point du rouge dans l'éditeur vba ?
Alain CROS.
"Charles" a écrit dans le message
de news: 07f101c35b2d$8aa3ea80$
Bonjour,
La syntaxe n'a pas l'air correct dans les deux Set car il
me met un message d'erreur.
Merci-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")Set Depart = FichierDepart.Worksheets(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" a écrit dans le message
de news: 07e101c35a9a$01ce3320$Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y
a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse
la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells
(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
.
-----Message d'origine-----
Bonjour.
Cette proc fonctionne chez moi.
Quel message d'erreur ?
N'y aurait il point du rouge dans l'éditeur vba ?
Alain CROS.
"Charles" <charlesamir@yahoo.fr> a écrit dans le message
de news: 07f101c35b2d$8aa3ea80$a501280a@phx.gbl...
Bonjour,
La syntaxe n'a pas l'air correct dans les deux Set car il
me met un message d'erreur.
Merci
-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")
Set Depart = FichierDepart.Worksheets(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)
MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" <charlesamir@yahoo.fr> a écrit dans le message
de news: 07e101c35a9a$01ce3320$a601280a@phx.gbl...
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y
a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse
la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells
(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
.
-----Message d'origine-----
Bonjour.
Cette proc fonctionne chez moi.
Quel message d'erreur ?
N'y aurait il point du rouge dans l'éditeur vba ?
Alain CROS.
"Charles" a écrit dans le message
de news: 07f101c35b2d$8aa3ea80$
Bonjour,
La syntaxe n'a pas l'air correct dans les deux Set car il
me met un message d'erreur.
Merci-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")Set Depart = FichierDepart.Worksheets(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" a écrit dans le message
de news: 07e101c35a9a$01ce3320$Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y
a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse
la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells
(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
.
-----Message d'origine-----
Bonjour.
tu mets ça sur une seule ligne
de Set FichierDepart .... à .... & ".xls")
pareil pour l'autre
de Set Depart .... à .... Value)
Alain CROS.
"Charles" a écrit dans le message
de news: 080e01c35bec$a9dc6a70$
Bonjour,
Dès la première syntaxe Set FichierDepart = Workbooks.Open
(Worksheets("Resultat").Cells(5, 9) & ".xls")
il s'arrête.
Sinon j'ai trouvé la réponse à ma question en fin de
compte. Mais j'aimerais bien savoir pourquoi cela
fonctionne chez toi et pas chez moi.
Bonne journée,
Charles-----Message d'origine-----
Bonjour.
Cette proc fonctionne chez moi.
Quel message d'erreur ?
N'y aurait il point du rouge dans l'éditeur vba ?
Alain CROS.
"Charles" a écrit dans le message
de news: 07f101c35b2d$8aa3ea80$Bonjour,
La syntaxe n'a pas l'air correct dans les deux Set car il
me met un message d'erreur.
Merci-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")Set Depart = FichierDepart.Worksheets
(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" a écrit dans le message
de news: 07e101c35a9a$01ce3320$Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y
alongtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse
lafeuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells
(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans
être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
.
.
-----Message d'origine-----
Bonjour.
tu mets ça sur une seule ligne
de Set FichierDepart .... à .... & ".xls")
pareil pour l'autre
de Set Depart .... à .... Value)
Alain CROS.
"Charles" <charlesamir@yahoo.fr> a écrit dans le message
de news: 080e01c35bec$a9dc6a70$a401280a@phx.gbl...
Bonjour,
Dès la première syntaxe Set FichierDepart = Workbooks.Open
(Worksheets("Resultat").Cells(5, 9) & ".xls")
il s'arrête.
Sinon j'ai trouvé la réponse à ma question en fin de
compte. Mais j'aimerais bien savoir pourquoi cela
fonctionne chez toi et pas chez moi.
Bonne journée,
Charles
-----Message d'origine-----
Bonjour.
Cette proc fonctionne chez moi.
Quel message d'erreur ?
N'y aurait il point du rouge dans l'éditeur vba ?
Alain CROS.
"Charles" <charlesamir@yahoo.fr> a écrit dans le message
de news: 07f101c35b2d$8aa3ea80$a501280a@phx.gbl...
Bonjour,
La syntaxe n'a pas l'air correct dans les deux Set car il
me met un message d'erreur.
Merci
-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")
Set Depart = FichierDepart.Worksheets
(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)
MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" <charlesamir@yahoo.fr> a écrit dans le message
de news: 07e101c35a9a$01ce3320$a601280a@phx.gbl...
Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y
a
longtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse
la
feuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells
(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans
être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
.
.
-----Message d'origine-----
Bonjour.
tu mets ça sur une seule ligne
de Set FichierDepart .... à .... & ".xls")
pareil pour l'autre
de Set Depart .... à .... Value)
Alain CROS.
"Charles" a écrit dans le message
de news: 080e01c35bec$a9dc6a70$
Bonjour,
Dès la première syntaxe Set FichierDepart = Workbooks.Open
(Worksheets("Resultat").Cells(5, 9) & ".xls")
il s'arrête.
Sinon j'ai trouvé la réponse à ma question en fin de
compte. Mais j'aimerais bien savoir pourquoi cela
fonctionne chez toi et pas chez moi.
Bonne journée,
Charles-----Message d'origine-----
Bonjour.
Cette proc fonctionne chez moi.
Quel message d'erreur ?
N'y aurait il point du rouge dans l'éditeur vba ?
Alain CROS.
"Charles" a écrit dans le message
de news: 07f101c35b2d$8aa3ea80$Bonjour,
La syntaxe n'a pas l'air correct dans les deux Set car il
me met un message d'erreur.
Merci-----Message d'origine-----
Bonjour.
Essaye comme ça.
Sub test()
Dim FichierDepart As Workbook
Dim Depart As Worksheet
Set FichierDepart = Workbooks.Open(Worksheets
("Resultat").Cells(5, 9) & ".xls")Set Depart = FichierDepart.Worksheets
(ThisWorkbook.Sheets
("Resultat").Cells(5, 9).Value)MsgBox Depart.[A1]
Set FichierDepart = Nothing
Set Depart = Nothing
End Sub
Pour conserver le 0, tu est obligé de mettre ' pour que
ce soit un texte car le nom de fichier est du texte.
Alain CROS.
"Charles" a écrit dans le message
de news: 07e101c35a9a$01ce3320$Bonjour,
Je suis nouveau dans les parages bien qu'ayant fait il y
alongtemps pas mal de programmation VB. Je veux me
replonger dedans :)
J'ai un petit souci que je vous expose de suite en
espérant qu'une bonne âme voudra bien m'aider !
1) J'ai un classeur Origine qui s'appelle par ex. 020604
qui a une seule feuille s'appelant aussi 020604.
2) Dans un autre classeur Fin où je lance ma macro, je
rentre dans une cellule (5,9) par exemple, 020604 et
j'aimerais qu'il m'ouvre le classeur et qu'il définisse
lafeuille, ie :
Set FichierDepart = Workbooks.Open(Resultat.Cells(5, 9)
& ".xls")
Set Depart = FichierDepart.Worksheets(Resultat.Cells
(5,9))
MAIS ca ne marche pas. La définition du classeur marche
mais pas celle de la feuille. Comment faire svp ?
Par ailleurs, comment faire pour conserver le 0 sans
être
obligé de mettre le signe ' avant ?!
Un grand merci par avance et j'espère venir en aide
prochainement avec mes quelques connaissances !
Bonne soirée !!
Charles
.
.
.