collage impossible!

p@cm@n

XLDnaute Junior
Bonjour le forum,

je renouvelle ma demande d'aide pour mon probléme.

mon fichier de lancement est un modèle (xlt) qui dispose d'une barre d'outils personaliser, dans cette barre il y à une commande 'enregistrer --->enregistrer sous...' qui enregistre le classeur xls avec un nom+référence de date dans répertoire défini.jusque là tout fonctionne pour le mieux.
maintenant je souhaite lorsque j'ouvre le nouveau classeur xls créer avec mon modèle, pouvoir copier certaines données dans un autre classeur, hors la fonction collage est grisé donc impossible à effectuer, de plus je récupère (sans le vouloir) la barre d'outils personaliser du premier fichier.

comment faire?

Je joint un fichier (test) qui reprend principalement la barre d'outils personalisée, le code d'acces administrateur est 'toto' toute les autres fonctionnalité ne sont pas active, je vous laisse 'tripatouiller' le code pour trouver une soluce à mon problème.
d'avance merci.
[file name=Test_20050828111535.zip size=18785]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Test_20050828111535.zip[/file] :eek:
 
Dernière édition:

Humansoft

XLDnaute Occasionnel
Bonjour P@cM@n, Bonjour le Forum,

Voici une petite solution pour la barre personnalisée.
A l'ouverture du fichier, le code vérifie le nom du classeur.
Si celui-ci est différent de TEST.XLS alors la macro de création des barres n'est pas activée.

Ainsi, les menus EXCEL sont préservés.

Pour ton problème de collage, j'ai fait un essai et je n'arrive pas à reproduire ton erreur.

Explique moi davantage le souci rencontré.

Cordialement,
Vincent

'***** Le code à copier dans ThisWorkbook

Private Sub Workbook_Open()

If ActiveWorkbook.Name = 'Test.xls' Then
Application.DisplayFormulaBar = False
Call MakeMenuBar
Call HideAllToolbars
Range('B4').Select
Else
Range('B4').Select
End If

End Sub
 

p@cm@n

XLDnaute Junior
salut Humansoft,

dabord merci pour ta réponse, et ta soluce.

seulement, voilà avec ta proposition ça ne marche pas comme je veux.
je m'explique:
mon 'vrai' fichier est d'une part beaucoup trop gros pour le mettre en pièce jointe et de plus c'est un fichier pour le boulot donc même si je pouvais je ne peut le mettre en ligne.

bref, partant du fichier test que j'ai fourni, il faut considérer celui ci comme un modèle excel donc xlt, donc quand je l'ouvre il me créer le fichier test1.xls (normale), mois de mon coté je fais en sorte à l'enregistrement via ma barre d'outils personaliser d'enregistrer le fichier de façon automatique sous le nom de test 280805.xls ,la valeur numérique représente une date, ce qui veut dire que au bout de quelque temps j'aurai plusieur fichier test, mais chacun avec une valeur numérique différente donc de date différente.
pour en revenir à ta soluce, j'ai d'une part rajouter les '' pour le nom du fichier (je pense que tu l'ai a oublié) et d'autre part mis xlt pour l'extention au lieu d'xls, mais cela ne focntionne pas. je pense apres coup qu'il faudrait que je mette test1.xls pour que barre d'outils pero soit prise en compte à l'ouverture de mon modèle.

pour ce qui est du copier coller,
j'ai disons 2 fichiers test enregistrer (test 260805.xls,test270805.xls), j'ouvre le premier (donc normalement sans barre perso) et je souhaite copier la première ligne de données, dans un autre fichier nommé synthèse (donc je l'ouvre dèrrière, le premier fichier test étant toujour ouvert), mais lorsque je veux coller ma fameuse ligne de données dans synthèse, je n'ai pas accès au collage (zone grisé) pourquoi?
il va s'en dire que mon vrai fichier à plusieurs protections (feuille protégé avec accès uniquement au cellule dévérouillé, et accès au code VBA protègé, mais ce n'est quand même pas cela qui m'empèche de faire mon collage.

j'espère avoir été un peu plus clair, en attendant d'avoir une autre proposition de ta part ,je ressaie ta soluce en mettant test1.xls pour voir si cela marche.


;)
 

p@cm@n

XLDnaute Junior
Humansoft,

je viens de refaire un éssai, en méttant comme nom test1 sans précision d'extention, et cela fonctionne pour ma barre d'outils perso, par contre je cherche toujours la soluce pour mon histoire de collage impossible, pfff tous le temps que j'ai passer sur ce fichier, résultat mes données ne sont pas exploitable dans un autre fichier, mis à part refaire la saisie en manuel dans mon fichier synthèse, tu parle d'un progrès.
bref je continue à chercher, enfin déja un soucis en moins, mais l'autre reste coton.

merci de m'avoir trouver cette soluce pour la barre d'outils, même si il a fallu readapter la chose.

a+ cordialement
Franck
 

p@cm@n

XLDnaute Junior
après moult test, voila ce qui ce passe:
lorsque j'ouvre un des fichiers créer avec mon modèle (ex:test280805.xls), et que j'ouvre un deuxième fichier (disont qu'il s'appelle synthèse) et bien cela m'affiche (à l'ouverture de synthèse):

erreur d'exécution 9 :
l'indice n'appartient pas à la sélection.

que faire?
 

Humansoft

XLDnaute Occasionnel
Bonjour P@cm@n, Bonjour le Forum,

Voici effectivement la solution.
Le classeur vérifie le nom à l'ouverture.
Si il s'agit du lmodèle, donct 'Test.xlt' alors la barre est activée.

Sinon, la barre n'est pas activée dans tout les autres cas.

Private Sub Workbook_Open()

If ActiveWorkbook.Name = 'Test.xlt' Then
Application.DisplayFormulaBar = False
Call MakeMenuBar
Call HideAllToolbars
Range('B4').Select
Else
Range('B4').Select
End If

End Sub

Sinon, pour ton souci de Copier/Coller, si ton classeur ou ta feuille sont protégés, tu ne peux pas faire de copier/coller.

Bonne journée.

Vincent
 

p@cm@n

XLDnaute Junior
salut Huamsoft,

ta soluce n'est pas tout à fait juste, because lorsque tu ouvre un modéle, il te rajoute un indice au bout du nom du fichier.
exemple: si le modéle se nomme Test.xlt, à l'ouverture il se nomera Test1.
donc dans ta soluce, il faut inscrire cet partie du code comme cela:
if activeWorkbook.Name = 'Test1' then ........... sinon ca marche pas.

pour le copier coller, la soluce est semble t'il la suivante:
vu que le collage 'classique' n'est pas accéssible (grisé), il faut obligatoirement lancer le presse papier d'office. quand je dit classique cela veut dire le copier coller de windows (qui est limité en capacité ci je crois biens).

en tous cas merci Humansoft pour m'avoir mis sur la voie.

maintenant je cherche à changé mon code pour ma barre perso, de façon à ne plus à avoir à passer par une feuille excel, mais uniquement via le Code VBA. je coince sur la partie RestoreToolbars et HideAllToolbars (voir le fichier Test joint plus haut dans ce poste) je ne sais pas comment le modifier car il fait référence à la fameuse feuille nommé Barre outils.

si ta une soluce je suis preneur, au pire je remettrai un nouveau message sur le forum.

@+ ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 353
Membres
103 528
dernier inscrit
hplus