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 :

je dois eviter que certaines cases comportant un mot specifique se suivent


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 74
    Points : 21
    Points
    21
    Par défaut je dois eviter que certaines cases comportant un mot specifique se suivent
    je dois comme ecrit en intitulé eviter que certaine designations ce suivent lorsque j effectue ma mise a joure voici le code de la mise a joure


    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    Sub Placer()
     
    vehicule = Cells(1, 17)
    ligne_début = InputBox("Placer : Ligne début ?")
    ligne_fin = InputBox("Placer : Ligne fin ?")
     
    ' balaye toutes lignes du tableau "planning"
    For ligne = ligne_début To ligne_fin
        test = 0
        If Cells(ligne, 3) <> vehicule Or Cells(ligne, 5) <> 0 Then GoTo saut3:
        type_piece = Cells(ligne, 2)
        For col_source = 36 To 39
     
     
        For lig_source = 7 To 500
            'si pas de référence, alors saut2
     
            If Sheets(vehicule).Cells(lig_source, 1) = "" Then GoTo saut2:
            ' teste type_pièce et soit manquants,
            ' soit (sur J+3 : stock + encours camions + placé < stock mini)
            If type_piece = Sheets(vehicule).Cells(lig_source, 3) And _
              (Sheets(vehicule).Cells(lig_source, col_source) < 0 Or _
              (col_source >= 39 And _
               Sheets(vehicule).Cells(lig_source, 6) + _
               Sheets(vehicule).Cells(lig_source, 16) + _
               Sheets(vehicule).Cells(lig_source, 18) < _
               Sheets(vehicule).Cells(lig_source, 7))) _
            Then GoSub calandres_exotiques: _
                 Cells(ligne, 7) = Cells(ligne, 6) * Sheets(vehicule).Cells(lig_source, 5): _
                 Sheets(vehicule).Cells(lig_source, 18) = Sheets(vehicule).Cells(lig_source, 18) + _
                    Int(Cells(ligne, 7) * (1 - Sheets(vehicule).Cells(4, 2))): _
                 Cells(ligne, 5) = Sheets(vehicule).Cells(lig_source, 4): _
                 Cells(ligne, 4) = Sheets(vehicule).Cells(lig_source, 1): _
                 test = 1: GoTo saut
    saut2:
        Next lig_source
        Next col_source
    saut:
     
    'rajoute la mention "JEUX" pour les bandeaux de portes X76II
    If test = 1 Then _
        If Sheets(vehicule).Cells(lig_source, 3) = "Band Portes" _
        Then Cells(ligne, 9) = "JEUX"
     
    ' rajoute les mentions "URGENT" si pièces appelées le jour même, le lendemain ou J+2
    date_urgence = Sheets(vehicule).Cells(5, col_source)
    date_urgence = WeekdayName(Weekday(date_urgence - 1)) & " " & Day(date_urgence) & " " & MonthName(Month(date_urgence))
    If test = 1 And col_source = 36 _
        Then Cells(ligne, 8) = "RISQUE TAXI " & date_urgence
    If test = 1 And col_source = 37 _
        Then Cells(ligne, 8) = "Urgence " & date_urgence
    If test = 1 And col_source = 38 _
        Then Cells(ligne, 8) = date_urgence
     
    saut3:
    Next ligne
     
     
    End
     
    calandres_exotiques: ' rajoute le deuxième tour si calandre exotique en 2 tours
    ref = Sheets(vehicule).Cells(lig_source, 2)
    test_2tours = 0
    For lig_2tours = 16 To 25
        If Sheets(vehicule).Cells(lig_2tours, 52) = ref Then test_2tours = 1
    Next
    If ref = "" Or ref = 0 Then test_2tours = 0
    If test_2tours = 0 Then GoTo fin
    saut_page = 0
    For page = 1 To 8
        If ligne >= page * 53 - 6 And ligne <= page * 53 + 8 Then saut_page = 5
    Next
    ligne2 = ligne + 16 + saut_page
    retour:
    If Cells(ligne2, 2) = Cells(ligne, 2) And _
       Cells(ligne2, 3) = Cells(ligne, 3) And _
       Cells(ligne2, 7) = Cells(ligne, 7) And _
       ligne2 <= 432 _
    Then Cells(ligne2, 5) = Sheets(vehicule).Cells(lig_source, 4): _
         Cells(ligne2, 4) = Sheets(vehicule).Cells(lig_source, 2): _
         Cells(ligne2, 6) = Cells(ligne2, 7) / Sheets(vehicule).Cells(lig_source, 5): _
         Cells(ligne, 9) = "1er tour": _
         Cells(ligne2, 9) = "2è tour" _
    Else Cells(ligne2, 2).Select: _
         MsgBox ("Impossible de placer de la calandre exotique " & _
                  Sheets(vehicule).Cells(lig_source, 4) & _
                  ", ref " & ref & ", qui est en 2 tours." & Chr(13) & _
                  "Il faut modifier la ligne " & ligne2 & _
                  ", pour qu'elle soit identique à la ligne " & ligne & "."): End
    fin:
    Return
     
    End Sub

    et quand je fais cette mise a joure je voudrais que la feuille s'occupe automatiquement de separer les lignes concerné.

    je c que je dois le faire dans ThisWookbook ,mais je ne c pas appelé la macro

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 95
    Points : 99
    Points
    99
    Par défaut
    Salut,

    j'ai pas tout compris à ton problème.
    Tu dis que tu n'arrives pas à appeler la macro. Laquelle? Depuis ta feuille Excel? depuis ailleurs?
    Tu veux l'appeler comment? par un bouton, par un raccourci....

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 74
    Points : 21
    Points
    21
    Par défaut
    je voudrais que quand j'appuie sur mon bouton placer ,il effectue le code que g fais , ca sa fonctionne tres bien et que une fois que sa c fais qu il soccupe de gerer le probleme des designation qui ce suivent

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/05/2011, 19h19
  2. Ne voire que certaines extensions et masquer les autres
    Par Furius dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 05/12/2005, 00h04
  3. [FreePascal] Comment éviter que la console se ferme
    Par Thiboz dans le forum Free Pascal
    Réponses: 5
    Dernier message: 14/08/2005, 16h48
  4. [Oracle 8i] ne garder que certains enregistrements (COUNT ?)
    Par delphim dans le forum Langage SQL
    Réponses: 13
    Dernier message: 23/02/2005, 15h30
  5. 1 Table, Des doublons, ne rertenir que certains d'entre eux
    Par Dragano dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/01/2005, 13h06

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