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 :

Macro qui ne fonctionne pas (encore)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 6
    Par défaut Macro qui ne fonctionne pas (encore)
    Hello, c'est mon deuxième post!
    Alors voilà, j'ai rédigé une macro mais celle-ci, pour des raisons qui me sont obscures, ne tourne pas rond ou plutôt loop mal ^^. Je requiers donc votre support.
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    Sub Subject_Type()
    Dim a As Variant, i As Byte, label As String, b As Variant
    i = 1
     
        Application.ScreenUpdating = False
     
     
    Do While ActiveCell <> "" And ActiveCell.Offset(0, 1) = ""
     
        Select Case (i)
            Case Is = 1
                label = "label1"
                a = "J"
                b = a
            Case i = 2
                label = "label2"
                a = "I"
                b = a
            Case i = 3
                label = "label3"
                a = "B"
                b = a
            Case i = 4
                label = "label4"
                a = "X"
                b = a
            Case i = 5
                label = "label5"
                a = 0
                b = a
            Case i = 6
                label = "et cetera .."
                a = "H"
                b = a
            Case i = 7
                label = ""
                a = "A"
                b = a
            Case i = 8
                label = ""
                a = "K"
                b = a
            Case i = 9
                label = ""
                a = "N"
                b = "Z"
            Case i = 10
                label = ""
                a = "G"
                b = a
            Case i = 11
                label = ""
                a = "D"
                b = a
            Case i = 12
                label = ""
                a = "Y"
                b = a
            Case i = 13
                label = ""
                a = "F"
                b = a
            Case i = 14
                label = ""
                a = "W"
                b = a
            Case i = 15
                label = ""
                a = 3
                b = a
            Case i = 16
                label = ""
                a = 1
                b = a
            Case i = 17
                label = ""
                a = 2
                b = a
            Case i = 18
                label = ""
                a = "E"
                b = a
            Case i = 19
                label = ""
                a = "C"
                b = a
            Case i > 19
                ActiveCell.Offset(0, 1) = ""   '<=== Ici le label est bien égal à "" (rien)!
                ActiveCell.Offset(1, 0).Select
                i = 1
     End Select
     
     If Left(ActiveCell.Value, 1) = a Then
        ActiveCell.Offset(0, 1) = label
        ActiveCell.Offset(1, 0).Select
        i = 1
     ElseIf Left(ActiveCell.Value, 1) = b Then
        ActiveCell.Offset(0, 1) = label
        ActiveCell.Offset(1, 0).Select
     Else
        i = i + 1
     End If
     
    Loop
     
        Application.ScreenUpdating = True
     
    End Sub

  2. #2
    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 !

    Un code effectuant juste ce qui lui ai demandé, s'il ne tourne pas rond sa conception est donc déficiente ‼

    Et avec une présentation claire & exhaustive, avec tenants & aboutissants, on aurait pu apporter de l'aide !

    Sinon suivre la progression du code en mode pas à pas via la touche F8 permet de trouver ses erreurs …

    _____________________________________________________________________________________________________
    Je suis Charlie, Bardo, Sousse

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 6
    Par défaut
    Après une demi-heure de recherche, j'ai posté et après 35 minutes, j'ai trouvé la réponse... M'enfin, vous pouvez vous amuser à chercher, ça fera de l'entrainement ^^ Si pas, je posterai la réponse vers 18h!

    @Marc-L Le code étant simple, je n'ai pas trouvé utile de partager une feuille qui aurait, de plus, été factice car mes données sont confidentielles. Ensuite, mon code comportait bel et bien une erreur.

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    personnellement je ne m'amuserais pas à corriger ton code ... car j'aurai procédé autrement et en moins de 20 lignes à vue d'oeil

    mais je te laisse chercher comment c'est possible, ça te fera de l'exercice

  5. #5
    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

    Je plussoie la réponse de Joe vu le code et les raisons obscures du concepteur !

    Partager un classeur n'est pas nécessaire - du reste c'est déconseillé lors du post initial -
    mais juste une présentation digne de ce nom conformément aux règles de ce forum !

    Sinon poster la correction du code sans toujours ne pas informer du contexte ne sert à rien, vraiment pas intéressant …

    Et nous, nous n'avons pas besoin d'entraînement, surtout quand c'est juste un problème de logique ! A bon entendeur …

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

Discussions similaires

  1. [XL-2010] Macro qui ne fonctionne pas sur un ordinateur
    Par Toug19 dans le forum Excel
    Réponses: 9
    Dernier message: 07/07/2015, 15h22
  2. macro qui ne fonctionne pas
    Par brooklin11 dans le forum Macro
    Réponses: 4
    Dernier message: 15/01/2015, 14h39
  3. [XL-2010] macro qui ne fonctionne pas
    Par jad73 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/11/2014, 22h16
  4. [XL-2003] Macro qui ne Fonctionne PAS sur Excel 2003 mais Fonctionne sur Excel 2010
    Par CedResma34 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/01/2014, 11h05
  5. Macro qui ne fonctionne pas
    Par Françoise_ dans le forum Débutez
    Réponses: 2
    Dernier message: 09/03/2013, 22h08

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