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 Excel} Probleme de Programmation


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut {Macro Excel} Probleme de Programmation
    Voila j'ai realiser une amacro avec l'aide de ouskel et tonton fred

    http://www.developpez.net/forums/sho...d.php?t=347494

    mais j'ai un soucis
    lors de la verification de l'ordre des operations ben rien ne marche
    je ne sais pas du tout comment implanter les solutions fournis par ouskel ou tonton fred

    je fournis le fichier avec toutes les macros


    si quelqu'un peut me donner un coup de main merci
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Bonjour Thomas,

    Le probleme est simple:
    -tu n'as declare aucune variable
    -tu n'as pas affecte certaines d'entre elles (NoCol, ValPréc...)

    Tu devrais commencer par placer en haut de ton module (avant la premiere procedure)
    Cela te mettra une erreur de compilation a chaque fois qu'une variable ne sera pas declaree. Cela te permettrai en outre d'eviter des choses comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CompareVals = ";" & ValPréc & ";" & ValSaisie & ";"
    If Chrono Like "*" & CompreVals & "*" Then MsgBox "C'est ok"
    Lis bien ca et ca pour mieux comprendre.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    bonjour tonton

    merci pour l'astuce et les liens
    je vais y jeter un coup d'oeil


    mon erreur intervient a cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ValPréc = Cells(i - 1, NoCol).Value
    et je ne vois pas pk?

  4. #4
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Deux possibilites:
    -l'accent (normalement on evite, mais je ne sais pas si c'est une "coutume" ou pour eviter des erreurs, de toute facon j'en ai pas sur mon clavier )
    -la non declaration (lis le premier lien pour ca, c'est un resume tres bien fait)

    Quand tu as une erreur, dire a quelle ligne c'est bien mais avec le nom de l'erreur c'est mieux

    Bonne lecture

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    ValPréc = Cells(i - 1, NoCol).Value

    Erreur d'éxecution'1004':
    Erreur définie par l'application ou par l'objet

    désolé de pas avoir preciser


    Voila le code que j'ai taper pour faire la verification chronologique


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub verification()
     
    Chrono = ";MF 135 U;MM 71135 U;MM 31762/40;MF 345 U;MM 71791/40;MM 71791/50;MPA 1;PA 71155;MF 50 U;MM 71150 U;MF 160 U;MM RH 71160 U;MM 71160 U;MM 71718/60;MF 360 U;MM 71791/60;MF 370 U;MM 71791/70;MF 175 U;MF 180 U;MF 135 1U;MF 31787;MM 1732 P45;MF 40 U;MF 8150 U;MF 60 U;MF 8160 U;MF 8160 USP;MF 8360 U;MF 8170 U;MF 8370 U;MF 940 U;"
    ValPréc = Cells(ActiveCell.Row - 1, "C").Value
    ValSaisie = Cells(ActiveCell.Row, "C").Value
    CompareVals = ";" & ValPréc & ";" & ValSaisie & ";"
    If Chrono Like "*" & CompareVals & "*" Then MsgBox "C'est ok"
     
    End Sub

  6. #6
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Pas de problemes, pour celle la c'etait facile a voir mais c'est pour les suivantes ca risque de se corser

    Lorsque tu ne declares pas de variable, Excel le fait tout seul dans le type Variant.
    Lors de cette declaration automatique ou d'une declaration explicite, la variable est initialise a 0 (pour une variable numerique).

    Donc cells(i - 1, NoCol) envoie vers la cellule de coordonnees (-1, 0), qui n'existe pas, donc erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ValPréc = Cells(ActiveCell.Row - 1, "C").Value
    ValSaisie = Cells(ActiveCell.Row, "C").Value
    Pour les erreur de syntaxe, la touche F1 est aussi tres utile, elle te dirait que pour la methode cells il faut des integer en arguments, contrairement a la methode range qui n'accepte que des string.

    Vraiment, ajoute option explicit, lis la faq de silkyroad concernant les variables, lis la faq programmer efficacement en VBA Excel

    Sinon ca va etre tres tres long...

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu as quelles valeurs dans i et dans NoCol ? Déroule ta macro au pas par pas pour le savoir, ou utilises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debub.print "i = " & i
    Debub.print "NoCol = " & NoCol
    et tu affiche la fenêtre Exécution -> Editeur VB -> Affichage -> fenêtre Exécution

    Edit
    Mais je vois que tonton fred t'a donné l'explication

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    Serieusement j'ai lus tous les FAQ données
    et ben je comprend toujours pas comment déclarée ma variable

    deja ma variable n'est pas fixe car elle peut changer durant la macro donc elle est de type integer

    mais ce que je comprend pas c'est comment dire que la valeurprec c'est la cellule juste au dessus de la celle active

    car mon planning n'est pas oblige de commencer du debut (exemple jour férié ect)

    sincerement la je suis totalement perdus

  9. #9
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Citation Envoyé par Thomas69
    deja ma variable n'est pas fixe

    pardon

    Bon deja on va commencer par voir pourquoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ValPréc = Cells(ActiveCell.Row - 1, "C").Value
    ValSaisie = Cells(ActiveCell.Row, "C").Value
    ne marche pas:
    Cells(1 ,1) est equivalent a range("A1"). Tu as ecrit cells(1"A")
    Donc ici pour cells il faudrait mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ValPréc = Cells(ActiveCell.Row - 1, 3).Value
    ValSaisie = Cells(ActiveCell.Row, 3).Value
    Pour range
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ValPréc = Range("C" & ActiveCell.Row - 1).Value
    ValSaisie = Range("C" & ActiveCell.Row).Value
    & permet de concatener (=assembler a la suite) des chaines de caracteres. On l'utilise parce que
    Citation Envoyé par Moi
    pour la methode cells il faut des integer en arguments, contrairement a la methode range qui n'accepte que des string.
    Pour declarer des variables, en dessous de sub tu mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sub verification()
    Dim ValPrec as integer, ValSaisie as integer

  10. #10
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    integer c'est pour des données variables
    car c'est ce que je voulais dire

  11. #11
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Oui oui, c'est juste une petite boutade ne te vexe pas

    Ca marche mieux ?

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub verification()
    Dim ValPrec As Integer, ValSaisie As Integer
    
    Chrono = ";MF 135 U;MM 71135 U;MM 31762/40;MF 345 U;MM 71791/40;MM 71791/50;MPA 1;PA 71155;MF 50 U;MM 71150 U;MF 160 U;MM RH 71160 U;MM 71160 U;MM 71718/60;MF 360 U;MM 71791/60;MF 370 U;MM 71791/70;MF 175 U;MF 180 U;MF 135 1U;MF 31787;MM 1732 P45;MF 40 U;MF 8150 U;MF 60 U;MF 8160 U;MF 8160 USP;MF 8360 U;MF 8170 U;MF 8370 U;MF 940 U;"
    ValPréc = Cells(ActiveCell.Row - 1, 3).Value
    ValSaisie = Cells(ActiveCell.Row, 3).Value
    ValPréc = Range("C" & ActiveCell.Row - 1).Value
    ValSaisie = Range("C" & ActiveCell.Row).Value
    CompareVals = ";" & ValPréc & ";" & ValSaisie & ";"
    If Chrono Like "*" & CompreVals & "*" Then MsgBox "C'est ok"

    Erreur
    Incompabilite de type

    j'avoue que je suis perdus

  13. #13
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Cela veut dire que la valeur contenue dans ta case n'est pas de type integer.
    Plusieurs chose peuvent etre faites:
    utiliser vartype pour savoir quel type de donnees contient la case
    modifier la declaration de la variable (en long, single, string...)
    convertir la donnee dans la case en integer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox(Vartype(ValSaisie = Cells(ActiveCell.Row, 3).Value))
    Va afficher un numero. En mettant le curseur sur Vartype puis en appuyant sur F1 tu sauras a quoi cela correspond.
    A partir de la, le choix t'appartient, il n'y a pas vraiment de methode meilleure que l'autre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'modifier la declaration
    Dim ValSaisie as String
    'Convertir en integer
    Valsaisie = CInt(ValSaisie = Cells(ActiveCell.Row, 3).Value)
    De la meme maniere en mettant le curseur sur String et sur CInt tu auras un descriptif de la chose, avec un lien vers un resume des differents type de donnees et des differentes commandes de conversion, ce qui devrait (j'espere) t'aider. Attentin, si tu declares en String (sans jeu de mot ) et que tu converti en Integer, tu auras la meme erreur. Il faut convertir dans le type de la variable.

  14. #14
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    J'ai compris l'erreur. Dans le code il n'y a pas de sélection de cellule, tu ne peux donc pas utiliser ActiveCell. Ça, c'est faux
    ValPréc = Cells(ActiveCell.Row - 1, "C").Value
    ValSaisie = Cells(ActiveCell.Row, "C").Value
    Tu dois indique le N° de la ligne, pas Activecell.Row
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ValPréc = Cells(NoLigne - 1, "C").Value
    ValSaisie = Cells(NoLigne , "C").Value
    ici c'est pareil
    ValPréc = Range("C" & ActiveCell.Row - 1).Value
    ValSaisie = Range("C" & ActiveCell.Row).Value
    Pas de sélection, pas d'activecell !
    Remets tout ton code, on va corriger
    A+

    NB - Evite toujours de sélectionner un classeur, une feuille, une cellule, une plage, on peut toujours s'en passer (sauf dans un cas très précis mais pas là)

  15. #15
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    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
    Sub produit() 'bouton VALIDER
     
     
        Sheets("interface").Select
     
        Range("F25:G25").Copy
     
        Sheets("PLANFAB").Select
        If ActiveCell.Column = 3 Or ActiveCell.Column = 9 Then
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=False
        End If
     
    For l = 4 To 58
     
        If Cells(l, 3).Value <> "" Then
            j = l - 1
            While j >= 4 And Cells(j, 3).Value <> Cells(l, 3).Value
                j = j - 1
            Wend
     
            If j = 3 Then
                Cells(l, 5).Value = 1
                Cells(l, 6).Value = Cells(1, 14).Value & Cells(1, 6).Value & " 2001"
     
            Else
                Cells(l, 5).Value = Cells(j, 5).Value + 1
                If Cells(l, 5).Value <= 9 Then
                    Cells(l, 6).Value = Cells(1, 14).Value & Cells(1, 6).Value & " 200" & Cells(l, 5).Value
                Else: Cells(l, 6).Value = Cells(1, 14).Value & Cells(1, 6).Value & " 20" & Cells(l, 5).Value
                End If
            End If
        End If
     
    Next
    For l = 4 To 58
     
        If Cells(l, 9).Value <> "" Then
            j = l - 1
            While j >= 4 And Cells(j, 9).Value <> Cells(l, 9).Value
                j = j - 1
            Wend
     
            If j = 3 Then
                Cells(l, 11).Value = 1
                Cells(l, 12).Value = Cells(1, 14).Value & Cells(1, 6).Value & " 3001"
            Else
                Cells(l, 11).Value = Cells(j, 11).Value + 1
                If Cells(l, 11).Value <= 9 Then
                    Cells(l, 12).Value = Cells(1, 14).Value & Cells(1, 6).Value & " 300" & Cells(l, 11).Value
                Else: Cells(l, 12).Value = Cells(1, 14).Value & Cells(1, 6).Value & " 30" & Cells(l, 11).Value
                End If
            End If
        End If
     
    Next
    End Sub
     
     
    Sub verification()
    Dim ValPrec As Integer, ValSaisie As Integer
     
    Chrono = ";MF 135 U;MM 71135 U;MM 31762/40;MF 345 U;MM 71791/40;MM 71791/50;MPA 1;PA 71155;MF 50 U;MM 71150 U;MF 160 U;MM RH 71160 U;MM 71160 U;MM 71718/60;MF 360 U;MM 71791/60;MF 370 U;MM 71791/70;MF 175 U;MF 180 U;MF 135 1U;MF 31787;MM 1732 P45;MF 40 U;MF 8150 U;MF 60 U;MF 8160 U;MF 8160 USP;MF 8360 U;MF 8170 U;MF 8370 U;MF 940 U;"
    ValPréc = Cells(ActiveCell.Row - 1, 3).Value
    ValSaisie = Cells(ActiveCell.Row, 3).Value
    ValPréc = Range("C" & ActiveCell.Row - 1).Value
    ValSaisie = Range("C" & ActiveCell.Row).Value
    CompareVals = ";" & ValPréc & ";" & ValSaisie & ";"
    If Chrono Like "*" & CompreVals & "*" Then MsgBox "C'est ok"
     
     
    Sub retour()
        Sheets("PLANFAB").Select
    End Sub


    J'ai compris ce que tu veux faire ouskel
    je crée une macro de verification qui verifie toutes ma liste et non une cellule en particulier donc en faite je luis fait parcourir toute ma feuille

    mais le soucis que j'ai si j'ai un blanc dans une case car je saute un jour
    ca va forcement me créer un probleme non?
    dis moi si j'ai tort ou raison

  16. #16
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par Tu
    J'ai compris ce que tu veux faire ouskel
    je crée une macro de verification qui verifie toutes ma liste et non une cellule en particulier donc en faite je luis fait parcourir toute ma feuille
    Non, ce n'est pas ce que j'ai voulu dire mais c'est une idée. Seulement, il va falloir que tu lui transmettes un tas de paramètres. Je ne ferais pas comme ça et remettrais la vérification dans la boucle.
    En outre chrono ne doit être renseigné qu'une fois, avant la boucle
    Enfin, tu continues à utiliser Activecell.row et là, comme aucune cellule n'est et ne doit être sélectionnée, ça ne peut pas fonctionner.

    Pour la vérification, remets la dans la boucle.

    Pour cette histoire de cellule vide, (on va finir par tout savoir ) veux-tu malgré tout vérifier la chronologie des "tâches" ?
    Ex : Les produits ";MF 135 U;MM 71135 U;" sont consécutifs dans ta liste.
    Jour 1 = MF 135 U
    Jour 2 = Rien
    Jour 3 : Le produit suivant devra-t-il être MM 71135 U ?
    Tu me réponds et ensuite on voit ce qu'on fait
    A+

  17. #17
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    si on saute un jour alors on peut pas reprendre l'ordre comme on veut on doit toujours respecter l'ordre

  18. #18
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Re bonjour a vous deux

    Mon dieu que c'est complique
    Il est temps d'en arriver a une chose hyper super importante dans la programmation:
    Le commentaire

    On le fait sous VBA en mettant ' en debut de ligne. VBA n'executera pas cette ligne, c'est juste du texte. L'interet de ca est d'expliquer a quoi sert le bout de code qui suit. Par exemple (aucun rapport avec ton probleme):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'parcourir la colonne "inventaire" pour extraire le reference produit
    For i = 1 to 500
    Inventaire = cells(i, ColInventaire).value
    If inventaire = "AH5004" Then
    'Afficher les stocks courants
    Msgbox(sheets("Stocks").cells(i+10, 5).value)
    Ca rendra toutes tes boucles imbriquees les unes dans les autres plus lisibles

    Sinon meme remarque que ouskel, teste la validite de l'enchainement pendant la saisie, ce sera plus simple.

    Et enfin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub verification()
    Dim ValPrec As Integer, ValSaisie As Integer
     
    Chrono = ";MF 135 U;MM 71135 U;MM 31762/40;MF 345 U;MM 71791/40;MM 71791/50;MPA 1;PA 71155;MF 50 U;MM 71150 U;MF 160 U;MM RH 71160 U;MM 71160 U;MM 71718/60;MF 360 U;MM 71791/60;MF 370 U;MM 71791/70;MF 175 U;MF 180 U;MF 135 1U;MF 31787;MM 1732 P45;MF 40 U;MF 8150 U;MF 60 U;MF 8160 U;MF 8160 USP;MF 8360 U;MF 8170 U;MF 8370 U;MF 940 U;"
    ValPréc = Cells(ActiveCell.Row - 1, 3).Value
    ValSaisie = Cells(ActiveCell.Row, 3).Value
    ValPréc = Range("C" & ActiveCell.Row - 1).Value
    ValSaisie = Range("C" & ActiveCell.Row).Value
    CompareVals = ";" & ValPréc & ";" & ValSaisie & ";"
    If Chrono Like "*" & CompreVals & "*" Then MsgBox "C'est ok"
    Je suis surpris que tu arrives a compiler, deja a cause de l'absence de End Sub, et puis aussi a cause des variables non declarees. Tu n'as pas du mettre Option Explicit en debut de module...
    Pourquoi tu affectes deux fois ValPrec et ValSaisie ? Cells et Range sont strictement equivalentes dans ton cas, et si ce n'etait pas le cas seul le dernier serait pris en compte . En plus tu declares ValPrec mais tu utilises ValPréc, ce qui est different. Et pareil la difference entre CompareVals et CompreVals (aucun d'entre eux n'est declare d'ailleurs).
    Mets Option Explicit en debut de module ou alors coche "Declaration de variable obligatoire" dans les options (ca mettra option explicit automatiquement) sinon tu auras de gros problemes qui grossiront encore au fur et a mesure que ton programme deviendra plus complexe.

  19. #19
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    ben oui c'est complexe
    ca fait 2 semaines que je planches dessus (heureusement que vous etes la car j'aurais rien sut faire sans votre aide)
    et que c'est pas mon job


    je vais abandonner la verification pour le moment
    donc arreter de vous arracher les cheveux
    et merci pr votre aide



    PS:si je mets delestage c'est bon pr mettre le projet de cote?

  20. #20
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Ben il me semble que la verification est ton probleme principal non ? Demande toi si la complexite de ton programme vient du probleme ou de la facon que tu as de le traiter .

    Un petit exemple de comment je procederai:
    Tu remplis le planning a la main, a chaque fois que tu as remplis une case, tu la selectionnes, tu cliques sur un bouton et la macro verifie si c'est bon ou pas (sans prise en compte des blancs). Apres tu ameliores en prenant en compte la possibilite d'avoir des blancs.
    Une fois que cette etape est bonne, tu ajoutes une liste de suggestions lors de l'affichage de l'erreur.
    Puis enlever le bouton et lancer la macro automatiquement lors du changement de la feuille.
    Puis...

    Il faut proceder par etape

    Si tu mets delestage, la discussion sera supprimee.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. macro excel - Probleme Refedit
    Par pepito3364 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/06/2015, 08h19
  2. {VBA Excel}Probleme de programmation
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/09/2007, 15h56
  3. {VBA Excel}probleme de programmation
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/06/2007, 14h24
  4. [VBA-excel]Probleme de macro pour creer un graphique.
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/07/2006, 15h42
  5. Excel:probleme pour transformer du texte en nombre par macro
    Par pcheval dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/11/2005, 22h18

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