VBA : transfert de données entre feuille

Résolu/Fermé
VBA - 6 avril 2012 à 12:21
 VBA - 6 avril 2012 à 12:46
Bonjour,


Je tente actuellement de copier des colonne de la premiere feuille de mon classeur dans une feuille que j'ai créé.
Je renomme la premiere feuille "base" et je créer une feuille "resultat"

Mais je n'arrive pas à chercher les infos dans une feuille te les copier dans l'autre..

Voici mon code :

Dim i As Integer
Dim j As Integer
Dim base As Worksheet


Sub init()

Dim shresultat As Worksheet


ActiveSheet.Name = "base"


Set shresultat = Sheets.Add(After:=Sheets(Sheets.Count))
shresultat.Name = "resultat"



End Sub

Sub remplissage()
j = 1
i = 4
Set base = Worksheet("base")

ActiveSheet.Cells(j, 1).Value = base.Cells(i, 3) = base.Cells(i, 3)
resultat.Cells(j, 3).Value = base.Cells(i, 1)


i = i + 1


End Sub

Je déclare de maniere globale la variable base en tant que worksheet, et je la set dans la partie remplissage. Mais une erreur apparait : sub ou fonction non définis...

1 réponse

J'ai réussi à me déboguer.
Voici le résultat pour cux que ca interesserait :
NB : le but est de récupérer des information stockés dans un feuille et les mettres dans les colonne approprié d'une autre feuille. Un remaniement des colonnes et lignes.
Par exemple : Dans ma feuille 1 : Je récupere la cellule de ma 1ere et 3eme colonne (sur la ligne en cours) et je place respectivement les resultat dans la 3eme et 1ere colonne de ma feuille 2 (de ma ligne en cours).

Sub remplissage()
j = 1
i = 3
Nom = Sheets("base").Cells(3, 3)

//Je parcours ma feuille1
Do While Sheets("base").Cells(i, 3) = Nom

//je récupere la cellule de la colonne 3 (feuille1, ligne en cours)et la place dans la colonne 1(feuille2, ligne en cours)
Sheets("resultat").Cells(j, 1) = Sheets("base").Cells(i, 3)

//je récupere la cellule de la colonne 1 (feuille1, ligne en cours)et la place dans la colonne 3(feuille2, ligne en cours)
Sheets("resultat").Cells(j, 3) = Sheets("base").Cells(i, 1)

If j >= 2 Then

Sheets("resultat").Cells(j, 1) = ""

End If

i = i + 1
j = j + 1
Loop

End Sub

Ci dessous un apercu des fichiers avant et apres :
Avant :
1 a
2 a
3 a

Apres :
a 1
2
3
0