Sélection d'un classeur renommé par macro

Jem973

XLDnaute Nouveau
Bonjour à tous,

Pour un projet dans mon travail je dois créer un classeur Excel résumant le choix des éléments que je choisi dans une base données pour créer un produit.

Pour cela j'ai créer un Userform qui me permet d'ouvrir un classeur Excel déjà existant et qui l'enregistre sous un autre nom (le nom du classeur est fonction des paramètres que je sélectionnes dans le userform).

Jusque là je m'en sors bien, mais le problème est que lorsque je veux copier dans la base données les éléments qui m'intéresse pour les coller dans le classeur renommé, je ne sais pas comment sélectionner le classeur renommé.

Quelqu'un pourrait m'aider ?

Merci d'avance.


Cordialement,

Jem973
 

Softmama

XLDnaute Accro
Re : Sélection d'un classeur renommé par macro

bonjour,

T'es pas très généreux en détails, aussi vais-je tenter de te répondre avec les éléments que je pense avoir compris.
Je suppose qu'à un moment tu as collé une ligne dans le genre :
Code:
ActiveWorkbook.SaveAs "nouvnom" & Me.textbox1 & me.textbox2

Je te conseille au préalable de garder cen nom ds une variable déclarée en public en tête d'un module standard :
Code:
Public LeNom as String

Puis de remplacer ta ligne de code précédente par :
Code:
LeNom = "nouvnom" & Me.textbox1 & me.textbox2
ActiveWorkbook.SaveAs LeNom

Ainsi quand tu as besoin de récupérer le nom du classeur, tu le trouveras dans la variable LeNom
 

Jem973

XLDnaute Nouveau
Re : Sélection d'un classeur renommé par macro

Merci beaucoup pour la réponse.
Mais dans mon cas les macros sont programmées directement dans les userform. Du coup je ne sais pas comment faire dans ce cas là. Voilà la partie du code que j'ai besoin. Je suis désolé j'aurais dû le préciser avant.

Du coup j'avais pensé déclarer Public en tête du userform la variable "nom".
Mais je ne sais pas si ça marche ?
Voilà ce que j'ai écrit :

Code:
Public nom as String

Private Sub CommandSuivant_Click()

Dim Str As String

Dim dir As String

Dim nom As String


Workbooks.Open Filename:="H:\_...\dossier du fichier à renommer\Fichier à renommer.xls"


dir = "H:\_...\dossier du fichier à renommer\

nom = LabelIP & LabelCourant & LabelGrad & LabelNbreLuminaire & Textincrément.Value

Str = dir & nom & ".xls"

ActiveWorkbook.SaveAs Str, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False

End Sub

Pour renommé le fichier ça ne pose aucun problème par contre du coup je ne sais pas comment l'appeler dans une autre macro, dans un autre userform ?

voilà ce que j'ai essayé de faire :
Code:
Private Sub CommandValider_Click()

If TextQuantite.Value = "" Then
MsgBox ("Veuillez noter la Quantité nécéssaire !")
Exit Sub
End If


Workbooks("nom").Select 'C'est là que je bloque !!!!!!!


num = Sheets("Contenu coffret alimentation").Range("A65536").End(xlUp).Row + 1
                                                                            
Sheets("Contenu coffret alimentation").Select
Range("A" & num).Value = Label1.Caption
Range("B" & num).Value = Label2.Caption
Range("C" & num).Value = Label3.Caption
Range("D" & num).Value = Label4.Caption
Range("E" & num).Value = Label5.Caption
Range("F" & num).Value = TextQuantite.Value

Workbooks("base de donnée.xls").Activate
Sheets("AC_DC").Select

Unload UsfSelectionAC
UsfSelectionAC.Hide

End Sub
Merci d'avance.
 

Softmama

XLDnaute Accro
Re : Sélection d'un classeur renommé par macro

Re,
Je te conseille au préalable de garder cen nom ds une variable déclarée en public en tête d'un module standard :
Code:
Public LeNom as String

C'est dans un module standard qu'il faut le mettre ! Même si tout est programmé ailleurs, et que tu ne crées un module standard que pour ça. Essaie, et dis-moi si ça fonctionne.
 

Jem973

XLDnaute Nouveau
Re : Sélection d'un classeur renommé par macro

Merci encore pour ta réponse. ça y est je l'ai testé et donc ça ne pose aucun problème pour créer le fichier et le renommer, par contre je ne sais pas comment l'appeler dans une autre macro.

J'ai essayé
Code:
Private Sub CommandValider_Click()

If TextQuantite.Value = "" Then
MsgBox ("Veuillez noter la Quantité nécéssaire !")
Exit Sub 
End If

Workbooks("nom").Select     'C'EST ICI QUE JE VEUX ACTIVER LE FICHIER RENOMMÉ

num = Sheets("Contenu coffret alimentation").Range("A65536").End(xlUp).Row + 1


Sheets("Contenu produit").Select
Range("A" & num).Value = Label1.Caption
Range("B" & num).Value = Label2.Caption
Range("C" & num).Value = Label3.Caption
Range("D" & num).Value = Label4.Caption
Range("E" & num).Value = Label5.Caption
Range("F" & num).Value = TextQuantite.Value

Workbooks("base de données.xls").Activate
Sheets("AC_DC").Select
End Sub

Mais ça m'indique "Erreur d’exécution '9' : L'indice n'appartient pas à la selection"

Là je vois vraiment pas. J'ai aussi essayé

Code:
If TextQuantite.Value = "" Then
MsgBox ("Veuillez noter la Quantité nécéssaire !")
Exit Sub 
End If


nom.Select    'C'EST ICI QUE JE VEUX ACTIVER LE FICHIER RENOMMÉ


num = Sheets("Contenu coffret alimentation").Range("A65536").End(xlUp).Row + 1


Sheets("Contenu produit").Select
Range("A" & num).Value = Label1.Caption
Range("B" & num).Value = Label2.Caption
Range("C" & num).Value = Label3.Caption
Range("D" & num).Value = Label4.Caption
Range("E" & num).Value = Label5.Caption
Range("F" & num).Value = TextQuantite.Value

Workbooks("base de données.xls").Activate
Sheets("AC_DC").Select
End sub

Mais ici ça m'a fait "Erreur de compilation : Qualificateur incorrect"

Je ne connais pas la syntaxe pour l'activer.

Peux-tu m'aider ?

Merci d'avance.
 

Discussions similaires

Réponses
19
Affichages
648

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry