Excel - VBA

Fermé
J0K0 - 18 juil. 2007 à 01:18
m@rina Messages postés 21145 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 9 décembre 2024 - 19 juil. 2007 à 00:18
Salut à toutes et tous.

J'ai un littler soucis, normal sinon je ne posterais pas !

Je cherche sous excel et vba plus précisément à faire un bouton enregistrer, automatiquement lorsque je cliquerais dessus, ca prendrais les infos de la cellules A1,B1,C1,D1 par exemple et ca les mettrait dans le nom de mon fichier .xls . J'ai déjà fais un truc qui marche mais QUE pour une seule case, ca ne veut pas marcher pour les autres ...

une idée svp ?


Private Sub CommandButton2_Click()
Dim str As String
Dim dir As String
dir = "C:/"
Range("B1:E1").Select
str = dir & ActiveCell.Text & ".xls"
ActiveWorkbook.SaveAs Filename:= _
str, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False


End Sub

merci J0K0

2 réponses

m@rina Messages postés 21145 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 9 décembre 2024 11 367
18 juil. 2007 à 16:00
Bonjour JOKO,

Tu mets :
str = dir & ActiveCell.Text & ".xls" 


Or il ne peut y avoir qu'une seule cellule active, même si une plage est sélectionnée.

Si tu veux concaténer le texte de plusieurs cellules, tu peux faire comme ça :

montexte = Range("B1").Text & Range("C1").Text & Range("D1").Text & Range("E1").Text
str = dir & montexte & ".xls"


m@rina
0
MERCI de cette réponse marina !!!

J'ai essayé et ca marche !! En effet j'avais remarqué cette ligne mais je ne m'y connais pas du tout !

C'est super, j'suis méga content ca marche :') grace à toi !

cependant, j'suis chiant, comment est ce que je peux rajouter "-" entre chaque cellule ... j'suis sur c'est sur la mm ligne ... mais encore une fois, je ne m'y connais pas ...

SINON j'aurais la solution, j'ajoute des cellules ou se trouvent deja "-" et je complète ...

MERCI !!!

[Résolu]
0
m@rina Messages postés 21145 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 9 décembre 2024 11 367
19 juil. 2007 à 00:18
Bonsoir JOKO,

C'est une concaténation toute bête avec des & pour lier le tout, donc tu peux ajouter dans ta ligne de code n'importe quel texte entre guillemets ce qui te donnera :

montexte = Range("B1").Text & " -" & Range("C1").Text & " - " & Range("D1").Text & " - " & Range("E1").Text
str = dir & montexte & ".xls"


m@rina
0