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 :

Espace pile insuffisant sur Excel 2007 mais pas sur Excel 2010


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Par défaut Espace pile insuffisant sur Excel 2007 mais pas sur Excel 2010
    bonjour
    voici mon souci ,j'ai un programme qui fonctionne sur Excel 2010 mais pas sur Excel 2007,je me tire les cheveux
    il me marque "espace de pile insuffisant" erreur d'exécution '28'
    je vous envoie ma macro

    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
    Sub datejour()
    Dim PlageActive As Range
            Dim FeuilleActive As Worksheet
            Set FeuilleActive = ActiveSheet
            Set PlageActive = ActiveCell
    If Range("n1") = 1 Then
    Range("b1").Select
    ActiveCell.FormulaR1C1 = Date
        End If
     Range("b1").Select
    If Range("n1") = 0 Then
    ActiveCell.FormulaR1C1 = Date - 1
    End If
    FeuilleActive.Activate
             PlageActive.Activate
     
     Application.OnTime Now + TimeValue("00:10:10"), "datejour"
     
    End Sub
    si quelqu'un pourrait m'aider a m'enlèverais une grosse épine du pied
    merci encore

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Comment sais-tu que c'est ce code qui provoque le pb? Vu comme cela, je dirais que cela ne vient pas de cette procédure.

    Sinon, mais cela n'a rien à voir, ce que tu as écris peut se résumer ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub datejour()
     
    If Range("N1") = 0 Then
        Range("B1") = Date - 1
    ElseIf Range("N1") = 1 Then
        Range("B1") = Date
    End If
     
    Application.OnTime Now + TimeValue("00:00:02"), "datejour"
     
    End Sub
    ET seulement en 2 lignes avec Switch...

    Cela n'a toujours rien à voir, mais ce n'est pas terrible d'écrire sans préciser la feuille, sauf si tu veux travailler avec n'importe quelle feuille qui serait active.

    Cordialement,

    PGZ

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Par défaut
    rebonjour,
    je ne comprends pas trop ce que tu reproches à ma macro ,
    le souci ce que je suis obligé de passer par là ,la macro d'après ce base sur celle-ci je te mets mes macros
    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
    Sub datejour()
    Dim PlageActive As Range
            Dim FeuilleActive As Worksheet
            Set FeuilleActive = ActiveSheet
            Set PlageActive = ActiveCell
    If Range("n1") = 1 Then
    Range("b1").Select
    ActiveCell.FormulaR1C1 = Date
        End If
     Range("b1").Select
    If Range("n1") = 0 Then
    ActiveCell.FormulaR1C1 = Date - 1
    End If
    FeuilleActive.Activate
             PlageActive.Activate
     
     Application.OnTime Now + TimeValue("00:10:10"), "datejour"
     
    End Sub
     
    Option Explicit
     
    Dim c, ln, i, plage()
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    datejour
    Application.EnableEvents = False  
     
        Application.ScreenUpdating = False 
        If Target.Count > 1 Then End        '
     
     
        If Not Intersect(Target, Range("b1,A7,A52,A97,A142,A187,A232,A277,A322,A367,A412,A457,A502,A547,A592,A637,A682,A727,A772,A817,A862,A907,A952,A997,A1042,A1087,A1132,A1177,A1222,A1267,A1312,A1357")) Is Nothing Then
            ActiveSheet.Unprotect "" 
            For ln = 7 To 1357 Step 45   
     
                    For i = 0 To 2
                         ReDim Preserve plage(2)
                        Set plage(i) = Range("C" & ln + i * 15 + 2 & ":L" & ln + i * 15 + 4 & _
                                            ",M" & ln + i * 15 + 3 & ":R" & ln + i * 15 + 4 & _
                                            ",S" & ln + i * 15 + 2 & ":T" & ln + i * 15 + 4 & _
                                            ",U" & ln + i * 15 + 2 & ":X" & ln + i * 15 + 2 & _
                                            ",Y" & ln + i * 15 + 2 & ":AJ" & ln + i * 15 + 4 & _
                                            ",AK" & ln + i * 15 + 3 & ":AZ" & ln + i * 15 + 4 & _
                                            ",BA" & ln + i * 15 + 2 & ":BE" & ln + i * 15 + 4 & _
                                            ",BF" & ln + i * 15 + 2 & ":BF" & ln + i * 15 + 4 & _
                                            ",C" & ln + i * 15 + 6 & ":X" & ln + i * 15 + 14 & _
                                            ",Y" & ln + i * 15 + 6 & ":BF" & ln + i * 15 + 12 & _
                                            ",Y" & ln + i * 15 + 13 & ":BF" & ln + i * 15 + 14)
                    Next i
     
                    Union(plage(0), plage(1), plage(2)).Select
     
                If Cells(ln, "A") = Cells(1, "b") Then 
                    Selection.Locked = False   
                Else                       
                    Selection.Locked = True     
                End If
            Next                           
            ActiveSheet.Protect ""   
        End If
        Application.EnableEvents = True     
    End Sub
    merci de vous occuper de moi

  4. #4
    Expert éminent
    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
    Par défaut

    Bonjour, bonjour !

    Aucune question pour une formule de feuille de calculs d'Excel ? Car ici ce n'est pas du tout le forum dédié au VBA ‼

    Ensuite lire enfin les règles du forum, notamment en ce qui concerne le balisage du code via l'icône dédiée
    (y a même une animation pour les moins doués !) et comment présenter clairement une problématique,
    notamment dans le cas d'un message d'erreur en indiquant la ligne le déclenchant !

    Quant au code présenté, il est effectivement pas terrible, l'explication de pgz est pourtant claire …

  5. #5
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Re,

    Juste une idée, inverser 2 lignes, comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Application.EnableEvents = False  
    datejour
    Parce que il faut bien que quelque chose s'empile...

    Cordialement,

    PGZ

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/06/2010, 15h10
  2. Ouverture Excel sur serveur ok mais pas sur client!
    Par adrix26 dans le forum SharePoint
    Réponses: 2
    Dernier message: 10/06/2008, 09h59
  3. Réponses: 6
    Dernier message: 30/05/2008, 17h03
  4. CSS : Bordure sur les liens mais pas sur les images ?
    Par monstroplante dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 04/02/2006, 14h18
  5. [CSS] border-collapse sur les TR mais pas sur les TD.
    Par hpfx dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 03/04/2005, 16h16

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