Transfert données entre deux tableau excel

Fermé
louloutte63 - 1 mars 2010 à 12:36
 louloutte63 - 1 mars 2010 à 16:41
Bonjour à tous,

je suis actuellement étudiant en projet erasmus et on m'a donné un projet à réaliser concernant l'utilisation de visual basic (ce qui me fait un peu peur au vue de mes connaissances en programmation et dans ce logiciel, et la complexité du projet...mais ce n'est pas le sujet de mon post!)

j'aimerai pouvoir mettre en place un programme qui permet de sélectionner (colonne par colonne) dans un tableau (100 colonne et 20 lignes) d'une feuille excel 1 les différentes valeurs présentes dans ces colonnes, et les mémorisées pour par la suite les réinjecter dans un autre tableau dans la feuille excel 2 (numéro de colonnes et de lignes différentes du tableau feuille 1).

J'ai effectué beaucoup de recherche sur les forums, internet et dans des bouquins mais je n'ai pas trouvé d'exemple suffisament proche de celui-ci pour m'aider! (ou peut-être qu'il y en avait mais dans ce cas je n'ai pas tilté...je programme en visual basic depuis 2 semaines et j'ai encore ud mal!)

merci beauuucoup pour votre aide!! :)

louloutte!
A voir également:

7 réponses

oui les données sont exactement les mêmes (ce sont des nombres), mon but est en fait de les "copier/coller" dans un autre tableau dans une autre feuille excel!

j'ai déjà passé beaucoup de temps à essayé de programme avec des boucles et des variables temporaires, mais je tourne en rond et à mon avis je n'ai pas la bonne approche algorithmique du problème!

Merci pour ta réponse! :)
2
Urbanspirit Messages postés 93 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 6 septembre 2013 22
1 mars 2010 à 12:43
je ne m'y connais pas très bien

mais les données de ton tableau sont elle de même types?

si ce n'est pas le cas je te conseillerais d'utiliser des structures ce qui te faciliterai la tache

pour la partie programmation pour les transfert de données entre deux tableau il faut que tu créer des variables temporaires pour gardez les données que tu veux déplacer...enfin bon attend que quelqu'un de mieux qualifier que moi affirme ou infirme ce que j'ai écrit ^^
0
Urbanspirit Messages postés 93 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 6 septembre 2013 22
1 mars 2010 à 12:56
au niveau de l'algo il me semble que sa ressemble globalement au tri bulle .... en gros ua lieu de classer les données d'un même tableau tu les envoie dans un autre tableau..
'menfin je m'avance peux être un peux trop...

attend qu'un dev' plus doué que moi vienne t'aider ^^


0
ok merci quand même! :)

je vais aller voir un exemple de tri bulle alors en attendant d'autres réponses!

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pourquoi ne pas faire un :

For y = 1 To 100 'pour les 100 colonnes
For x = 1 To 20 'pour les 20 lignes
Sheets("Feuil1").Select
ThisWorkbook.Sheets("Feuil1").Cells(x, y).Select
Selection.Copy
Sheets("Feuil2").Select
ThisWorkbook.Sheets("Feuil2").Cells(x + 10, y + 10).Select 'Si les colonnes et lignes de la feuille 2 sont 10 cases plus loin, sinon tu peux refaire une boucle ?! Oo
ActiveSheet.Paste
next y
next x
0
ok c'est parfait sa marche! :)

merci beaucoup, sans votre aide j'aurai eu beaucoup de mal!

bonne journée! :)
0
par contre j'ai encore une petite question!! (je suis coincé dessus depuis 1 heure et je suis sur que c'est un petit détail de m... mais j'arrive pas à trouver!)

maintenant pour chaque colonne dans la tableau que j'ai obtenu grace à chico (encore merci!:) ), je souhaite comparer tous simplement deux valeurs références situées l'une au dessus de l'autre dans le tableau.

j'ai programmé la macro ci-dessus, mais quand je lance le programme j'ai l'impression que l'incrément de y ne marche pas! (exemple: dans les deux premières comparaison on retrouve les deux cas: plus petit et plus grand, et j'ai quand même le même retour...)

Sub capacidad()

Dim a As Integer
Dim b As Integer
Sheets("feuil2").Select

For y = 4 To 104

a = Feuil2.Cells(22, y).Select
b = Feuil2.Cells(21, y).Select

If a >= b Then
MsgBox ("ATENCION: La capacidad limita de producion es alcanzada en la linea 1 para el dia numero " & (y - 3))

Else

End If

Next y
End Sub


Merci beaucoup pour votre aide! :)
0