Choix de code

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
 

CBernardT

XLDnaute Barbatruc
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
 

DoubleZero

XLDnaute Barbatruc
Re : Choix de code

Bonjour, Calvus :D, CBernardT :D, 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à :confused: d'un conseil avisé ?... Mon baragouinage est-il clair ?

A bientôt :):)

P. S. : Mille excuses pour l'accent circonflexe :rolleyes: sur "Peut-être", "apparaîtrait" ...
 

Calvus

XLDnaute Barbatruc
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 :):)
 

Calvus

XLDnaute Barbatruc
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:

Discussions similaires

Réponses
2
Affichages
157

Statistiques des forums

Discussions
312 504
Messages
2 089 091
Membres
104 027
dernier inscrit
Luc ECODIS