IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Chercher une date dans différentes feuilles d'un classeur et retour du numero de la feuille


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Chercher une date dans différentes feuilles d'un classeur et retour du numero de la feuille
    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:

    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
    Ce code fonctionne bien, mais la feuille dans laquelle je veux copier elle doit avoir le Nr 1.
    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 :
    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)
    J’espère que je me suis bien exprimé, et merci en avance pour l'aide.

    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.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour,

    merci d'utiliser la prochaine fois l'icône # dédiée au code …

    Revoir l'aide de la fonction Find et son exemple car dans ton code
    elle provoquera une erreur si elle ne trouve pas de correspondance …

    Sinon la logique a l'air bonne, manque peut-être l'extraction du mois pour copier dans la bonne feuille, non ?

    Un peu plus de précisions seraient les bienvenues …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/05/2011, 12h35
  2. [XL-2003] recherche emplacement d'une date dans une autre feuille
    Par wuging dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 27/08/2010, 16h19
  3. Réponses: 1
    Dernier message: 11/01/2010, 13h46
  4. [MySQL] Chercher une date dans une table
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/03/2008, 18h39
  5. chercher une date dans un texte en Langage C
    Par dadou9101 dans le forum Débuter
    Réponses: 3
    Dernier message: 30/01/2008, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo