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 :

Affichage ou non + incrémentation


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
    Technicien
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Par défaut Affichage ou non + incrémentation
    Bonsoir,

    Je tente une macro qui doit faire afficher ou non des courses suivant le contenue.

    Les courses a afficher sont dans une autre feuille.

    J'ai une cellule (colonne 5) toutes les 8 lignes qui si elle est égale à 0 masque la course sinon l'affiche

    La première cellule est en ligne 5

    Voici tous les codes utilisés



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Club()
    'Appel macro pour masquer des courses
      Dim numero As Long
       numero = 5 'Ligne de départ
      While Cells(numero, 5) = 0
        Cells(numero, 5) = numero
        numero = numero + 8 'Incrémentation
       If Cells(numero, 5) = 0 Then
        Call test_de_la_connerie
        Else
        Call test_de_la_connerie_1
        End If
       Wend
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Option Explicit
     
    Sub test_de_la_connerie()
    ' test_de_la_connerie Macro
    ' test je ne sais plus le combien c'est
       Sheets("Inscrits").Select
        Rows("4:8").Select
        Selection.EntireRow.Hidden = True
    End Sub



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
     
    Sub test_de_la_connerie_1()
    ' test_de_la_connerie Macro
    ' test je ne sais plus le combien c'est
       Sheets("Inscrits").Select
        Rows("4:8").Select
        Selection.EntireRow.Hidden = False
    End Sub


    Le problème qui se pose pour l'instant c'est que pour les cellules, il y a une formule.

    La macro me supprime la formule pour ecrire 0.

    La formule qui est inscrite, compte le nombre de cellules non vides

    Je ne souhaite pas que la macro me supprime la formule car ça veux dire qu'il me cachera tous.

    Dans les macros qui sont appelées, je ne l'ai fais que sur une plage de cellules précise pour voir si ca fonctionne

    Je souhaiterai savoir si on peux mettre un lien entre les macro pour l'incrémentation car il y a le meme incrément dans les 2 feuilles

    PS : Je fais des macro avec des nom débiles dsl

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 81
    Par défaut
    Bonjour,

    Met le code entre balise code stp.

    Pourquoi tu ne réécris pas la formule dans la cellule avant tes tests ?

    Cordialement,
    Ltspitfire

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Par défaut
    La mise en balise CODE à été faite par contre je n'ai pas compris ta remarque sur la cellule

    Si j'ai bien compris.

    Tu veux que j'écrive la formule avant de tester.

    La formule y est déjà mais quand je lance la macro la formule disparaît et il y a un 0 à la place

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonsoir,

    commence par mettre des noms plus parlant à tes procédures , ce qui nous permettra de mieux comprendre ce que tu veux faire.. ( pas de test de ta connerie...)

    ensuite évite les select, activate et autre ... lorsque tu utilise un objet range , cells, rows... précise toujours la feuille concernée devant ...

    par exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While ThisWorbook.sheets("Inscrits").Cells(numero, 5) = 0
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ThisWorbook.sheets("Inscrits").Rows("4:8").Hidden = True

  5. #5
    Membre habitué
    Homme Profil pro
    Technicien
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    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
    Sub Club()
    'Appel macro pour masquer des courses
        Dim numero As Long
        numero = 5 'Ligne de départ
        While ThisWorkbook.Sheets("Club").Cells(numero, 5) = "0"
            Cells(numero, 5) = "0"
            numero = numero + 8 'Incrémentation
                If Cells(numero, 5) = 0 Then
                Call test_masquer
                Else
                Call test_afficher
                End If
        Wend
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Explicit
     
    Sub test_afficher()
        ThisWorkbook.Sheets("Inscrits").Rows("4:8").Hidden = False
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Explicit
     
    Sub test_masquer()
        ThisWorkbook.Sheets("Inscrits").Rows("4:8").Hidden = True
    End Sub
    J'ai modifié les intitulé.

    Quelle est la méthode à utiliser pour que la macro lise ce qui est écrit et non remplacer la valeur par ce qu'elle veux?

    A l'heure actuelle, à chaque lancement de la macro, ma formule disparait et est remplacer par un chiffre (ici le 0)

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    il reste encore des objets cells pour lesquels tu n'as pas préciser la feuille concernés en particulier la ligne suivante :


    ou tu écris 0 sur la feuille active ....

Discussions similaires

  1. Modes affichage WebParts non disponibles
    Par walli_g dans le forum ASP.NET
    Réponses: 1
    Dernier message: 05/06/2007, 15h33
  2. affichage ou non selon champ dans un etat
    Par froutloops62 dans le forum IHM
    Réponses: 1
    Dernier message: 01/06/2007, 17h46
  3. Requête : Affichage champs non vides
    Par emilie31 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/02/2007, 11h01
  4. [XSLT] non incrémenté sur selection
    Par sdrouins dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 20/01/2007, 18h56
  5. [VB.Net] DataAdapter, Affichage si non null ???
    Par Sophy dans le forum ASP.NET
    Réponses: 12
    Dernier message: 20/02/2004, 18h03

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