Probleme vba

mada11 Messages postés 7 Date d'inscription mercredi 19 octobre 2005 Statut Membre Dernière intervention 21 octobre 2005 - 20 oct. 2005 à 11:56
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 - 20 oct. 2005 à 13:18
bonjour à tous,

nous devons réaliser une macro permettant de découper un classeur excel en autres plus petit.
Le gros classeur contient une colonne numero.
il est demandé à l'utilisateur de choisir un numero.
nous avons fait une boucle qui permet de savoir si la valeur choisi par l'utilisateur est présente dans la colonne.
si c'est le cas, les données du gros classeur concernant cette valeur sont transmises à un classeur pus petit.
malheuresement seule la première ligne concernant cette vzleur est copiée.
comment faire pour récuperer toutes les données concernant la valeur donnée par l'utilisateur?

voici le code

Dim valeur As Integer
Dim i As Integer
Sub decoup()
valeur = InputBox("valeur:", "val", "")
For i = 1 To 2
If Cells(i, 1) = valeur Then
nom = Cells(i, 2)
prenom = Cells(i, 3)
repas = Cells(i, 4)
total = Cells(i, 5)
Workbooks.Add
ActiveCell.Offset(0, 1) = nom
ActiveCell.Offset(0, 2) = prenom
ActiveCell.Offset(0, 3) = repas
ActiveCell.Offset(0, 4) = total
End If
Next
ActiveWorkbook.SaveAs Filename:=(valeur) & "_" & (ThisWorkbook.Name)
End Sub

merci d'avance.

1 réponse

linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
20 oct. 2005 à 13:18
je pense que c'est simplement parce que lorsque tu fais un workbook.add
et activecell.offset(..) tu te trouves dans le deuxième classeur (plus
petit) ensuite tu continues ta lecture mais on est toujours dans ce
même classeur. Il faudrait donc que tu reviennes dans ton premier
classeur pour continuer ta lecture.



Mais attention aussi car ton workbooks.add est dans ta boucle ce qui
donne aussi que tu vas créer un fichier pour chaque ligne correspondant
à la valeur entrée.
0
Rejoignez-nous