Bonjour,
Je suis entrain de développez une petite application sous excel pour une gestion de stock( juste entrée et sortie). j'ai une feuille "Saisie du jour" là ou je rempli des cellule par les valeurs entrées/sortie. J'ai encore des feuilles des mois ( janvier, février, ... décembre). Dans chaque feuille j'ai la date dans la 1ere colonne, puis dans les 2 colonnes qui suivent les entrées et les sorties. Je veux copier les valeur que je tape dans la feuille "Saisie du jour" dans les case correspandant dans les autres feuilles. J'ai ecris le code suivant:
Ce code fonctionne bien, mais la feuille dans laquelle je veux copier elle doit avoir le Nr 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub COPIER() Application.ScreenUpdating = False Dim myCell As Range Dim a As Long, x As Long 'chercher la date dans la 1ere feuille Set myCell = Sheets(1).Columns(2).Find(Date) a = 5 x = 1 With ActiveSheet Do Until IsEmpty(.Cells(a, 1)) 'remplir les cellule de la feuille choisi (ici la 1ere feuille) Sheets(1).Cells(myCell.Row, x * 3) = .Cells(a, 2) Sheets(1).Cells(myCell.Row, myCell.Offset(, x * 3).Column) = .Cells(a, 3) a = a + 1 x = x + 1 Loop End With 'ouvrir la feuille choisi (ici la 1ere feuille) Sheets(1).Select End Sub
Ma question: Comment corriger le code pour élargir la recherche dans les différentes feuilles du classeur. Je pense à ajouter une fonction FOR avec retour de i ( par exemple) qui sera le numéro de la feuille en question. Et par la suite j'utilise i dans la boucle do until :
J’espère que je me suis bien exprimé, et merci en avance pour l'aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Do Until IsEmpty(.Cells(a, 1)) Sheets(i).Cells(myCell.Row, x * 3) = .Cells(a, 2) Sheets(i).Cells(myCell.Row, myCell.Offset(, x * 3).Column) = .Cells(a, 3)
Pour comprendre un peu plus ma question je mets en pièce jointe une application test. dans ce dossier si la feuille " septembre" est la 1ére feuille du dossier alors le code fonctionne bien, si non le code ne fonctionne pas.
Partager