Probléme avec une macro

Manuscriteur

XLDnaute Nouveau
Bonjour,
J'ai une question, normal c'est un forum...
Voilà, j'ai des cellules qui sont remplis avec du texte.
Il y a a peu près 6 lignes par cellule d'écrite.
Bref, j'utilise un bouton avec la macro suivante.

Private Sub CommandButton2_Click()
ActiveSheet.Copy
Application.Dialogs(xlDialogSaveAs).Show
End Sub

Et lors de de la copie de la feuilles sur un classeur different, il manque des lignes sur la nouvelle feuille.

Donc, je voudrais savoir pourquoi cette copie de feuilles comporte ce bug.
Alors que si on selectionne la feuille complete et on la copie sur un nouveau classeur ce bug n'y est pas.

Est-ce-que ma macro est correct pour cette utilisation ou alors une autre formule existe.

Sachant que c'est la seule que je connaisses.

Si vous avez besoin d'un fichier support je peux vous en fournir un.

Ou alors, faites le teste en ecrivant dans une cellule, avec ALT+ entrée pour aller à la ligne.
UNe fois remplis de 8 lignes avec du textes et des nombres, (on s'en moque de savoir ce qu'il y a écrit du moment qu'on a nos ligne), on crée un bouton avec ma macro et vous verez le résultat.

Juste un précision, là ou le probléme intervien, c'est uniquement sur des cellules fusionnées alors que sur des cellules non fusionnées ce souci n'apparais pas.

Merci pour le coup de main :)

Bon excel à tous :)
 
Dernière édition:

Manuscriteur

XLDnaute Nouveau
Re : Probléme avec une macro

Je te joint la feuille en question.
Je t'ai mis dans la case bleu un texte lambda....
En cliquant sur le bouton Sauvegarde excel, la totalité du texte de cette cellule n'est pas identique.

Merci pour ton aide :)
 

Pièces jointes

  • Test copie.xls
    35 KB · Affichages: 92
  • Test copie.xls
    35 KB · Affichages: 92
  • Test copie.xls
    35 KB · Affichages: 93

laurent950

XLDnaute Accro
Re : Probléme avec une macro

Bonsoir,

Voila en faite c'est une erreur je pense dans votre code, il n'y a pas besoin de sauver la feuille car vous demander de l'enregister sous, ce qui veux dire que vous garder l'originale en vue dans faire une copie ou modification.

'ActiveSheet.Copy = copie de la feuille (mais a aucun moment elle a besoin d'etre coller dans ce cas de figure "donc inutile"

Private Sub CommandButton2_Click()
'ActiveSheet.Copy (code inutile = écris en ver dans la macro car ppostrophe devant le texte)
Application.Dialogs(xlDialogSaveAs).Show (vous avez juste besoin de la boite de dialogue enregister sous
End Sub


Ca marche, mais j'ai pas compris l'autre macro avec les tabeaux (Variable) a quoi cela sert exactement

au plaisir de vous répondre et vous aider a nouveau


laurent
 

Pièces jointes

  • Copie de Test%20copie(1).xls
    32 KB · Affichages: 45
Dernière édition:

Manuscriteur

XLDnaute Nouveau
Re : Probléme avec une macro

Salut laurent 950,

Merci pour la réponse, il y a juste un hic, et c'est de ma faute j'ai mal developpé des le debut.

- Dans mon classeur, j'ai 3 feuilles.
La seule qui doit-être extraite et enregistrer c'est celle-là.
Donc ton code fonctionnement du superbement bien pour une feuille solo, puisque l'on a qu'une feuille dans le classeur.
Mais je veux juste cette feuille qui soit enregistrer ailleurs.
Voilà pourquoi j'ai utilisé ce code au départ.

Ma deuxieme macro, extrait les données de certaines cellules pour justement les exporter sur une feuille nommé Sauvergarde pour garder une trace.
 

laurent950

XLDnaute Accro
Re : Probléme avec une macro

Bonsoir,

J'ai résolu votre problème, voila comment j'ai procédé, lorsque vous cliquer sur le bouton de (Sauvegarde Copie sous même répertoire) cela lance la macro.

Enregistrement dans le même répertoire source (de l’original) avec (le même nom précéder de Copie)

Exemple : Source.xls (avec toutes les feuilles d’origine) et CopieSource.xls (avec juste la feuille nommé Cible)

Ps : c’est plus facile ensuite de ranger les copie dans les répertoires de destinations (car le nom du fichier d’origine précéder de Copie)

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Sub SauvAs()
Application.DisplayAlerts = False

'Récupére le nom du classeur actif
nom = ActiveWorkbook.Name

'Récupére le Chemin du classeur actif
Chemin = Workbooks(nom).Path & "\"

'ActiveWorkbook.SaveAs Copie+(Même nom de classeur sauvegarder dans le répertoire source)
ActiveWorkbook.SaveAs Chemin & "Copie" & nom

'Destruction des autres feuilles que la feuille Cible
'Boucle sur les feuilles du classeur.

For Each c In ThisWorkbook.Worksheets
'Destruction de toutes les feuilles différente de Cible.
If c.Name <> "Cible" Then
c.Delete
End If
Next c

Application.DisplayAlerts = True
End Sub

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Au plaisir de vous vous lire et vous aider

Laurent
 

Pièces jointes

  • Source.xls
    46.5 KB · Affichages: 76
  • Source.xls
    46.5 KB · Affichages: 81
  • Source.xls
    46.5 KB · Affichages: 79

Manuscriteur

XLDnaute Nouveau
Re : Probléme avec une macro

Salut laurent950,

J'ai vu sur le fichier source, tu as insére un module avec la macro en question.
Le souci c'est que dés que je l'intergre dans mon bouton, j'ai des soucis avec la formule
nom = ActiveWorkbook.Name

Excel, m'avertie que ce n'est pas valide.

Je ne connait pas le principe des modules n'ayant jamais utiliser cette fonction dans les macros.

Je peux t'envoyer le fichier complet pour que tu voyes comment tu peux l'inserer, vu que tu connais mieux la maniére de manier la bestiole ?

Merci encore de ton aide :)
 

Discussions similaires

Réponses
6
Affichages
180

Statistiques des forums

Discussions
312 617
Messages
2 090 252
Membres
104 468
dernier inscrit
FabianF