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 :

Boucles If imbriquées avec condition de Date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Apprenti Ingénieur énergie électrique
    Inscrit en
    Novembre 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur énergie électrique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2020
    Messages : 9
    Par défaut Boucles If imbriquées avec condition de Date
    Bonjour tout le monde,

    Tout d'abord merci à ceux qui m'ont aidé précédemment, mon fichier est sur le point d'être terminé. Cependant deux derniers points restent à éclaircir, on parlera d'un seul des deux ici. C'est une erreur bête à mon avis, je dois faire un truc de travers. J'ai une listbox qui récupère les valeurs de mes plusieurs colonnes, ces valeurs sont réparties dans plusieurs labels immodifiables. De plus j'ai trois textbox qui permettent de modifier, ajouter (dans ma BDD) des valeurs de certaines cellule de la ligne sélectionnée dans la listbox. Dans deux de ces textbox sont renseignées des dates (ajout matériel et enlèvement matériel). Dans le code ci-dessous je n'arrive pas à faire fonctionner la boucle "If" (coloriée en rouge) : rendre impossible la modification et accompagner d'une msg box lorsque la date d'ajout matériel renseignée en Textbox11 > Textbox13 ( date d'enlèvement matériel).

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    Private Sub B_valid_Click()
    
     Dim TextBox11 As Date
     Dim TextBox13 As Date
    
      Enreg = Me.Enreg
      
      If Date < TextBox11 Then ' si la date du jour est inférieure à la date d'ajout matériel (matériel n'est pas en stock)
        
        MsgBox "Le matériel n'est pas en stock ! Il le sera : " & Me.TextBox11, vbOKOnly + vbInformation, "Matériel prochainement en stock"
      
        If TextBox11 > TextBox13 Then ' si la date d'ajout matériel est supérieure à la date d'enlèvement matériel (matériel n'est pas en stock, il ne peut pas être enlevé)
      
          MsgBox "Le matériel sera en stock le : " & Me.TextBox11 & ",il ne peut être enlevé avant cette date", vbExclamation
       
           If MsgBox("Confirmez-vous la demande de réservation de ce matériel ?", vbYesNoCancel, "Demande de confirmation de réservation") = vbYes Then
      
      For c = 1 To NbCol
      
       If Not Range(NomTableau).Item(Enreg, c).HasFormula Then
         tmp = Me("textbox" & c)
          
         If IsNumeric(Replace(tmp, ".", ",")) And InStr(tmp, " ") = 0 Then
            tmp = Replace(tmp, ".", ",")
            Range(NomTableau).Item(Enreg, c) = CDbl(tmp)
           Else
             If IsDate(tmp) Then
               Range(NomTableau).Item(Enreg, c) = CDate(tmp)
             Else
               Range(NomTableau).Item(Enreg, c) = tmp
               
             End If
                
           End If
           
         Else
         Range(NomTableau).Item(Enreg - 1, c).Copy
         Range(NomTableau).Item(Enreg, c).PasteSpecial Paste:=xlPasteFormats
        End If
        
       Next c
      
            If MsgBox("Souhaitez-vous générer la fiche de réservation matériel ?", vbYesNo, "Fiche identification matériel") = vbYes Then
       
       With Sheets("Feuil2")
       
       .Range("A1").Value = "N°" & TextBox1
       .Range("B1").Value = "RESERVATION" & Chr(13) & Chr(10) & "Matériel: " & TextBox2 & Chr(13) & Chr(10) & "Marque: " & TextBox7
       .Range("B2").Value = "Modèle: " & TextBox3 & Chr(13) & Chr(10) & "Puissance: " & TextBox4 & Chr(13) & Chr(10) & "Avec disjoncteur: " & TextBox5 & Chr(13) & Chr(10) & "Tension: " & TextBox6
       .Range("B3").Value = TextBox8
       .Range("B4").Value = "Ajouté par: " & TextBox9 & Chr(13) & Chr(10) & "Réservé par: " & TextBox12
       .Range("B5").Value = "Entré le: " & Me.TextBox11 & Chr(13) & Chr(10) & "Enlevé le: " & TextBox13
       .Range("B6").Value = TextBox10
       
       End With
       
       Unload Me
       Application.ScreenUpdating = False
       Sheets("Feuil2").PrintPreview
       Application.ScreenUpdating = True
       
          
              End If ' confirmation génération PDF
          
             Exit Sub
          
           End If ' exclamation impossible ajout > enlèvement
       
      
         End If ' Confirmation réservation matériel
       
       
       End If ' matériel n'est pas encore en stock
     
      UserForm_Initialize
      'raz
       
    End Sub
    Si certains souhaitent, je ne sais pas si c'est possible, mais je peux leurs envoyer le fichier (en partie confidentiel) en message privé.

    Je vous remercie d'avance pour le temps que vous prendrez pour me répondre.

    Maxgui.

  2. #2
    Membre habitué
    Homme Profil pro
    Apprenti Ingénieur énergie électrique
    Inscrit en
    Novembre 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur énergie électrique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2020
    Messages : 9
    Par défaut
    Petites précisions : je ne peux pas valider la modification (l'écriture dans la BDD), que la date d'ajout soit > ou < à la date d'enlèvement. En plaçant le Exit Sub/ End If juste après la msgbox (en rouge dans le code) je peux par contre modifier que la date d'ajout soit > ou < à la date d'enlèvement. Par contre dans les deux cas les msgbox ne remontent pas (même en changeant de type de msgbox ça ne change rien).

    Je vous remercie !

Discussions similaires

  1. Requete mysql avec condition de date
    Par AurelienNF dans le forum Langage
    Réponses: 9
    Dernier message: 11/11/2010, 14h02
  2. [VxiR2] Choix entre 2 requêtes avec condition de date
    Par wesaurel dans le forum Deski
    Réponses: 7
    Dernier message: 20/01/2010, 13h11
  3. Réponses: 4
    Dernier message: 09/05/2006, 09h55
  4. [Access] requete sql avec condition sur date
    Par qeja dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/03/2006, 00h54
  5. [XSL]boucle imbriquée avec condition
    Par kor dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 11/01/2005, 15h19

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