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 :

Affichage semaine vba [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 61
    Par défaut Affichage semaine vba
    Bonjour à tous,

    J'ai un soucis avec mon programme vba.
    En effet, j'ai créé plusieurs documents qui comporte des données dont les numéros de semaine. Puis un autre document qui lui va récupérer les données contenue dans ces document. Et cela en fonction de la semaine choisie.

    Cependant, dans certains documents vont apparaîtres des numéros de semaine qui n'apparaîssent pas dans d'autres.
    C'est à dire dans mon doc MC_Plastique il y a les semaines 28, 29, 34, 35 et dans un autre les semaines 23 et 30.

    Ce qui fait que quand je choisi la semaine 30 par exemple , le message "N° de semaines non trouvé!" apparait car il n'y a pas de semaine 30 dans le document MC_fonctionne.

    Comment faire pour qu'il m'affiche quand même les données des documents qui comportent la semaine 30?

    Voici le code:

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Option Explicit
    Option Base 1
     
    Sub Extraction_Hebdo()
      Dim Cel As Range, xchoixnosem, semExist As Range
      Dim i As Long, xdlgn As Long, xdlgn1 As Long
      Dim wb As Workbook
     
      Application.ScreenUpdating = False
     
      ' Contrôle de la saisie
      xchoixnosem = InputBox(Prompt:="Indiquez le numéro de semaine (chiffre compris entre 1 et 52), puis Valider par la touche Entrée du clavier ?", Title:="Choix de la semaine")
          ' Si bouton Annuler
          If xchoixnosem = "" Then Exit Sub
          If xchoixnosem < 1 Or xchoixnosem > 52 Then
              MsgBox "Le numéro de la semaine doit être un chiffre compris entre 1 et 52.", vbCritical, "Choix de la semaine"
              Application.ScreenUpdating = True
              Exit Sub
          End If
     
          ' Vérification si n° de semaine existe
     
          Set semExist = Workbooks("MC_Plastique.xlsm").Sheets("Synthese").Range("B:B").Find(xchoixnosem, LookIn:=xlValues, lookat:=xlWhole)
            If semExist Is Nothing Then
              MsgBox "N° de semaine non trouvé!", vbOKOnly + vbExclamation, "SEMAINE NON RENSEIGNÉE"
              Exit Sub
            End If
     
      ' Extraction des données
     
      With Feuil2
        .Range("A2:S" & Rows.Count).ClearContents
        .Activate
      End With
      For Each wb In Workbooks
        If Not wb Is ThisWorkbook Then
          With wb.Sheets("Synthese")
            xdlgn = .Range("B" & Rows.Count).End(xlUp).Row
            For Each Cel In .Range("B6:B" & xdlgn)
              If Cel.Value Like xchoixnosem Then
                xdlgn1 = ThisWorkbook.Sheets("Synthese").Range("A" & Rows.Count).End(xlUp).Row + 1
                For i = 1 To 19
                  ThisWorkbook.Sheets("Synthese").Cells(xdlgn1, i) = .Cells(Cel.Row, i)
                Next
                ThisWorkbook.Sheets("Synthese").Cells(xdlgn1, 20) = wb.Name
              End If
            Next
          End With
        End If
      Next
    Merci d'avance votre aide

    Rob's

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Et bien, tu peux remplacer le bloc ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If semExist Is Nothing Then
        MsgBox "N° de semaine non trouvé!", vbOKOnly + vbExclamation, "SEMAINE NON RENSEIGNÉE"
        Exit Sub
    End If
    par celui-ci afin de demander si on veut continuer malgré tout ou non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If semExist Is Nothing Then
     
        If MsgBox("N° de semaine non trouvé !" & vbCrLf & vbCrLf & "Voulez-vous malgré tout continuer ?", vbYesNo + vbExclamation, "SEMAINE NON RENSEIGNÉE") = vbNo Then Exit Sub
     
    End If
    Hervé.

  3. #3
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2013
    Messages : 11
    Par défaut
    Bonjour,

    Pour compléter la réponse de Theze, le code est juste dans la mesure ou il ne regarde que dans un classeur. En fonction de tes besoins :
    -Tu n'as qu'un et seul classeur de référence (MC_Plastique.xlsm) si tu y trouves le N° de semaine tu continues, si tu ne l'y trouves pas tu cherches dans un autres classeur.
    Cela est fonction de tes besoins, et nécessite de poser les choses.

    Cdt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage semaine dans DatePickerDialog
    Par Vanessa48 dans le forum Android
    Réponses: 0
    Dernier message: 25/03/2011, 14h06
  2. Affichage Dcount/VBA dans un formulaire
    Par fdalyon dans le forum VBA Access
    Réponses: 11
    Dernier message: 15/03/2010, 16h30
  3. [AC-2003] Tri et affichage avec VBA
    Par stan057 dans le forum VBA Access
    Réponses: 8
    Dernier message: 19/05/2009, 17h29
  4. Problème affichage Aide VBA
    Par airbeone dans le forum Access
    Réponses: 6
    Dernier message: 19/06/2006, 16h32
  5. Question sur la gestion de l'affichage en VBA
    Par papilou86 dans le forum Access
    Réponses: 5
    Dernier message: 29/05/2006, 10h26

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