Bonjour,
Je voudrais copier les données de cellules d'une feuille pour les copier dans une autre. Le probleme est que je ne vois pas comment faire car le nom de cette feuille et choisit dans une combobox.
Version imprimable
Bonjour,
Je voudrais copier les données de cellules d'une feuille pour les copier dans une autre. Le probleme est que je ne vois pas comment faire car le nom de cette feuille et choisit dans une combobox.
Bonsoir,
Où est le problème ?
ActiveWorkbook à remplacer le cas échéant, par ThisWorkbook, ou Workbooks("Toto"), ou une variable associée à un classeur.Code:
1
2
3 Dim f As Worksheet Set f = ActiveWorkbook.Sheets(ComboBox1.Value) ' Suite du traitement, par exemple, MsgBox f.Name
Cordialement,
Michel Gaboly
"erreur d'execution 424 objet requis"
Esce que ca peut venir du fait que j'ouvre l'autre workbook juste avant, ou que le combobox est sur une autre userform ?
Code:
1
2
3
4 NomClasseur = CurDir & "\classeurclient" Workbooks.Open Filename:=NomClasseur Set w = Workbooks("classeurclient").Sheets(FrmSaisieVente.Cbx_Nomclient.Value)
Re,
Qu’entends-tu par "le combobox est sur une autre userform" ?
Ton code est-il dans le module du UserForm contenant le ComboBox, ou ailleurs ? Si le code est ailleurs, le UserForm concerné est-il encore en mémoire, ou une instruction Unload a-t-elle déjà eu lieu ?
A quelle ligne as-tu le message d’erreur ?
Par ailleurs, utilise des noms de variables parlants : "w" peut être l’initiale de Workbook, ou celle de Worksheet. C’est pourquoi "f", comme Feuille est plus clair (on utilise classiquement "wb" pour un classeur).
D’autre part, il vaut mieux indiquer l'extension du nom de fichier : "classeurclient.xls" plutôt que "classeurclient".
Cordialement,
Michel Gaboly
au niveeau de la ligne set ...Citation:
A quelle ligne as-tu le message d’erreur ?
Citation:
Qu’entends-tu par "le combobox est sur une autre userform" ?
Le code n'est pas dans cet userforme mais encore en memoire. le fait de cliquer sur OK fait apparaitre par dessus la seconde ou se trouve le code.Citation:
Ton code est-il dans le module du UserForm contenant le ComboBox, ou ailleurs ? Si le code est ailleurs, le UserForm concerné est-il encore en mémoire, ou une instruction Unload a-t-elle déjà eu lieu ?
C'est sur que c'est plus lisibleCitation:
Par ailleurs, utilise des noms de variables parlants : "w" peut être l’initiale de Workbook, ou celle de Worksheet. C’est pourquoi "f", comme Feuille est plus clair (on utilise classiquement "wb" pour un classeur).
D’autre part, il vaut mieux indiquer l'extension du nom de fichier : "classeurclient.xls" plutôt que "classeurclient".
C pas tres clair... y'a pas moyen que tu nous envoies ton fichier...
Bonjour,
L’erreur 424 apparaît donc à cette ligne :
Comme en principe, tu viens d’ouvrir le classeur "classeurclient", ce n’est pas cet objet qui pose un problème.Code:Set w = Workbooks("classeurclient").Sheets(FrmSaisieVente.Cbx_Nomclient.Value)
As-tu vérifié qu’il n’y a pas de faute de frappe dans "FrmSaisieVente" ou dans "Cbx_Nomclient" ?
Par ailleurs, comme le dit RemiT, c’est vrai que ce serait plus simple en ayant accès à ton document, ou au moins à un extrait plus conséquent du code, en particulier le code dans le premier UserForm, qui affiche le second UserForm, et le code de ce dernier qui définit w : quelle procédure, événementielle ou pas ?
Cordialement,
Michel Gaboly
J'écrirais en ligne 76 :
et en ligne 81 (celle qui plante) :Code:
1
2
3 dim wbk as workbook dim wbs as worksheet Set wbk = Workbooks.open(Nomclasseur)
Code:set wbs=wbk.sheets(FrmSaisieVente.Cbx_NomVendeur.Value)
Bonjour,
Tu n’as visiblement pas suivi le conseil que je t’ai donné :
Ton formulaire s’appelle "FrmSaisieVendeur", et tu écris dans ton code "FrmSaisieVente"
Cela suffit à expliquer l’erreur "424, objet requis", puisque "FrmSaisieVente" n’existe pas.
Quant au Combo, il s’appelle Cbx_NomVendeur, et tu écris Cbx_Nomclient.
En clair, les 2 termes que je t’ai conseillé de vérifier sont faux :(
Le plus simple aurait tout de même été de les vérifier toi-même !
Cordialement,
Merci