• Initiateur de la discussion Initiateur de la discussion Calvus
  • 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 !

Calvus

XLDnaute Barbatruc
Bonjour le forum,

Une question d'ordre général,un conseil plutôt qu'une question particulière. Je précise que ce dont je dispose fonctionne bien pour le moment.

J'ai un classeur avec plusieurs onglets, dont un Facture et un Facture Pro Forma. Les formats des deux sont identiques.

Question 1 : Pensez vous qu'il faille mieux conserver un seul onglet et transformer la feuille Facture en fonction d'un choix, à partir d'une cellule de validation par exemple, ou conserver les deux et appeler les données de la Pro Forma dans la Facture si la conversion est nécessaire ?

Dans les 2 cas, les onglets sont sauvegardés dans 2 autres classeurs indépendants. Ce qui permet de rappeler les données.

Ce qui amène à la question 2 : j'utilise un code comme celui-ci :

Code:
Workbooks.Open ("C:\.......................")
Sheets(onglet).Activate
ActiveSheet.Range("A1:H67").Copy
ActiveWorkbook.Close False
'Windows("Travail.xlsm").Activate
Range("A1").Select
ActiveSheet.Paste
[B1].Select

Le même type de code est utilisé pour la copie vers/depuis un autre classeur ou entre les feuilles de mon classeur de travail.

Est ce donc correct d'utiliser la copie, ou vaudrait il mieux un code du genre :

Code:
For each cel in range
range.offset
range.offset
range.offset
range.offset
etc....

Merci de vos conseils avisés.
Bonne journée
 
Re : Choix de code

Bonjour Calvus,

Pour la question 2, tu peux essayer cette macro de transfert de données de classeur à classeur sans passer par copy :
Sub TransfertDonnées()
Dim Tablo
Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\Classeur-V1.xlsm"
With Sheets("Onglet")
Tablo = .Range("A1:H67")
End With
ActiveWorkbook.Close False
' Classeur et Feuille dans lesquels il faut importer et coller les données
With Sheets("Feuil1")
.Range("A1").Resize(UBound(Tablo, 1), UBound(Tablo, 2)) = Tablo
.Range("B1").Select
End With
End Sub
 
Re : Choix de code

Bonjour, Calvus 😀, CBernardT 😀, le Forum,

Compte tenu de :

...Dans les 2 cas, les onglets sont sauvegardés dans 2 autres classeurs indépendants...
Merci de vos conseils avisés...

Ne voyant pas l'utilité de multiplier les onglets contenant des informations identiques, j'opterais pour la transformation de "la feuille Facture en fonction d'un choix".

Peut-être devrais-tu récapituler l'ensemble des données utiles dans un seul tableau, où, en colonne "x" apparaîtrait la mention "Forma" ou "Facture". Un clic double sur l'un des deux termes pourrait, selon un modèle, exporter les valeurs requises.

Mais... S'agit-il là 😕 d'un conseil avisé ?... Mon baragouinage est-il clair ?

A bientôt 🙂🙂

P. S. : Mille excuses pour l'accent circonflexe 🙄 sur "Peut-être", "apparaîtrait" ...
 
Re : Choix de code

Bonsoir 00 🙂🙂🙂🙂, le forum,

Toujours à ma rescousse ! C'est cool !! 🙂🙂

Devant t les 1872 réponses que j'ai obtenues cet après midi...., j'ai opté pour la solution que tu préconises.

On voit donc les choses de la même façon ! 😉

Reste à terminer d'ordonner tout cela. Dieu que c'est long...

Bonne soirée 🙂🙂
 
Re : Choix de code

Re, 🙂

Non, cela ne devrait pas être "long", surtout si les deux options ("Forma" ou "Facture") sont, l'une et l'autre, bâties à l'identique.

Pourrais-tu déposer un petit exemple, s'il te plaît ?

Si c'est long car mon fichier fait référence soit à des clients, soit à des prospects. Il faut donc renseigner les champs de façon différente. Et c'est long parce que je ne maîtrise pas. Par exemple, j'ai mis 2 heures à faire coïncider 3 macros événementielles dans le même Change !

Aussi parce que pendant tout ce temps où je modifie et améliore, je dois chercher de nouvelles choses, comme la façon de coder un togglebutton par exemple ou encore comment incruster parfaitement des commandbuttons dans des cellules. J'y arrive, gràace au forum et au net, mais c'est long...
Alors pour déposer un exemple c'est compliqué, car mon fichier est très gros et il y a des codes de partout maintenant.
Si je me retrouve bloqué, je posterai un fichier, mais ce sera peut être aussi long de construire l'exemple que de chercher à trouver la solution... snif

Merci 🙂🙂
 
Dernière édition:
- 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

Discussions similaires

Réponses
9
Affichages
256
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
908
Retour