macro pour copie d'onglet qui pose problème

  • Initiateur de la discussion Initiateur de la discussion etigi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

etigi

Guest
bonjour à tous,

j'ai réussi en fouillant dans ce forum, à mettre en place place une macro qui me permet de copie une feuille dans un nouvel onglet en le renommant et en même temps de copier des données dans une autre feuille,

mais le problème est que chaque fois que j'active cette macro, les données copiées sont mise à jour avec la dernière saisie. Donc, en feuille "RECAP" les lignes sont identiques.

Si quelqu'un pouvait m'aider!!!!

je joins un exemple de mon fichier qui pourra peut être vous aider à comprendre mon soucis. Un bémol, dans le ptit bout de fichier que je joins la macro fonctionne parfaitement, ce n'est que lorsque l'ensemble est réintégré dans son classeur d'origine que les copie se mette à jour avec le dernier enregistrement.
 

Pièces jointes

Re : macro pour copie d'onglet qui pose problème

Bonsoir Etigi 😎,
Dans le code que tu utilises, il y a une ligne étrange
Code:
    .Range("a" & dl1).Value = i
sachant que i n'a jamais aucune valeur. Je pense que le but d'origine étais une clef primaire auto incrémentable. Tu peux essayer de lui donner une valeur
Code:
i = .Range("a" & dl1-1).Value + 1
avant de l'appliquer. Comme c'est cette colonne qui est utilisée pour déterminer la dernière ligne
Code:
dl1 = .Range("a65536").End(xlUp).Row + 1
j'aurais tendance à penser que le souci viens de là. Si ce n'est pas le cas, poste un petit bout de ton fichier réel, avec des données factices.
Bonne soirée 😎
 
Re : macro pour copie d'onglet qui pose problème

bonsoir,
difficile de post mon fichier même en dissimulant les données, il y a énormément de relation, de macro, de liaison et autres....
mais merci, je vais déjà essayé de comprendre et de mettre en application tes conseils,
merci encore, cordialement
etigi
 
Re : macro pour copie d'onglet qui pose problème

Re 🙂,
C'est sûr que ce n'est pas évident de nettoyer un fichier avant de le poster, mais trouver des bugs sur un fichier qui fonctionne, pas facile non plus 😛...
Bon courage 😎
 
Re : macro pour copie d'onglet qui pose problème

désolé, je n'ai pas saisi
je viens d'essayer mais je crains de n'avoir pas compris le sens de ton conseil,
serait il possible de modifier mon exemple joint?
merci
etigi
 
Re : macro pour copie d'onglet qui pose problème

Bonjour le forum 🙂,
............................
Attention à la diarée verbale, les explications trop longues et trop techniques ne sont pas toujours compréhensibles 😀...
Non, plus sérieusement, je pense que PhLaurent55 est perplexe comme moi. Ton fichier semble fonctionner parfaitement. Où alors, nous n'avons pas compris ton problème...
Edit : Je viens de refaire un test pour m'en assurer, et je viens peut-être de comprendre ton problème. Je regarde et je reviens.
A + 😎
 
Re : macro pour copie d'onglet qui pose problème

Re 🙂,
Ok, j'ai compris. Ton récapitulatif est en référence par rapport aux feuilles créées. Mais dans ton modèle, tu as mis des références à ce même modèle. Quand le modèle est modifié, les feuilles créées sont modifiées en même temps, et le récap par la même occasion. Une première solution est de copier les cellules de la nouvelle feuille et de coller en spécial que les valeurs en modifiant ton code comme ceci :
Code:
With Sheets("Relevtriproptype")
    .Copy after:=Sheets(Sheets.Count - 1)
 
    'Nomme la nouvelle feuille avec le nom contenu en C6 de Sheets("RECAP")
    ActiveSheet.Name = Sheets("RECAP").Range("C6").Value
[COLOR=red][B]   ' Remplace les formules dans la feuille créée par les valeurs[/B][/COLOR]
[B][COLOR=red]   Cells.Select[/COLOR][/B]
[B][COLOR=red]   Selection.Copy[/COLOR][/B]
[B][COLOR=red]   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _[/COLOR][/B]
[B][COLOR=red]       :=False, Transpose:=False[/COLOR][/B]
[B][COLOR=red]   Application.CutCopyMode = False[/COLOR][/B]
   'Mémorisation du nom de la dernière feuille pour l'utiliser en tant qu'hyperlien plus bas
    NomF = ActiveSheet.Name
 
End With
Bien sûr, ça t'enlève aussi les formules de calcul de la feuille créée, mais une facture, une fois étabie, n'est pas censée être modifiée, elle doit faire l'objet d'un avoir et d'une nouvelle facturation. Si tu veux pouvoir remodifier quelque chose, il va falloir bien définir les zones à figer et les zones à laisser tel quel.
Bon lundi de Pâques 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour