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 :

Forcer le calcul de la macro sur les colonnes masquées


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Forcer le calcul de la macro sur les colonnes masquées
    Bonjour,

    J'utilise ce code VBA pour extraire des données:
    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
    Private Sub ExtraireEAlt_Click()
    Dim ongletA As Worksheet, ongletB As Worksheet
    Dim celluleRecherche As range
    Dim premiereAdresse As String
     
        Set ongletA = ThisWorkbook.Sheets("C_PP") 'Feuille source
        Set ongletB = ThisWorkbook.Sheets("TabDefauts") 'Feuille destination
     
     
        Set celluleRecherche = ongletA.Columns("AJ").Find("1", , xlValues, xlWhole, , , False)
                            'Colonne ou se trouve la condition + Find("la condition
     
        If Not celluleRecherche Is Nothing Then
            premiereAdresse = celluleRecherche.Address
     
     
            Do 'ongletB.range("Colonne ou vont se coller les valeurs
                ongletB.range("K" & ongletB.Rows.Count).End(xlUp).Offset(1, 0).Value = ongletA.range("AK" & celluleRecherche.Row)
                                                                        'Colonne ou se trouve la valeur à copier si condition Ok
     
     
                Set celluleRecherche = ongletA.Columns("AJ").FindNext(celluleRecherche)
                                            'Colonne ou se trouve la condition
     
            Loop Until celluleRecherche.Address = premiereAdresse
        End If
     
    End Sub
    La fonction ne me renvoie plus les informations recherchées lorsques les colonnes qui me servent à filtrer mes données sont masquées.

    Comment puis-je forcer le calcul en améliorant ce code sans avoir à démasquer les colonnes manuellement ?

    Je vous remmercie de votre aide par avance.

    Cordialement,
    PatSyl77

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut heu!...
    bonjour


    un truc très simple ça serai de mettre les colonne que tu a cacher a visible et
    mettre leurs width a "0"
    ce qui corespond a les rendre invisibles a l'oeil mais accessible en vba



    au plaisir

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Width à 0
    Bonjour,

    Patrick merci pour ton aide, en fait j'ai beaucoup de données à visualiser sur mon tableur.
    J'ai réduit la largeur des colonnes à 1 pour que VBA puisse voir les filtres qui se trouvent dans ces colonnes, ce qui revient un peu au même que ta solution.
    Mon tableur n'est cependant pas très convivial comme ça.
    En fait je cherche à modifier cette macro pour qu'elle puisse travailler sur les colonnes masquées qui me donneront ainsi plus de visibilité et de clarté à mon tableur.

    Cordialement,

    PatSyl77

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut
    bonjour
    je comprend plus ce que tu veux

    tu me dis que tu a un tableau avec des colonnes que tu veux garder masquer
    mais cependant tu veux pouvoir les modifier

    je te dis de les mettre a zéro au niveau de l'affichage ça reviens a la même chose que les masquer sauf que tu peut travailler dessus par macro


    enfin il faut être un peu plus clair si tu veux une réponse adaptée


    au plaisir

    bon comme je vois que tu persiste a vouloir garder des colonne masquées alors
    a suposer que sa soit les colonnes E et G

    a l'activate tu sheets
    Columns("E:G").EntireColumn.Hidden = True

    et ta 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Private Sub ExtraireEAlt_Click()
    application.screenupdating=false
    Columns("E:G").EntireColumn.Hidden = False
     
    Dim ongletA As Worksheet, ongletB As Worksheet
    Dim celluleRecherche As range
    Dim premiereAdresse As String
     
        Set ongletA = ThisWorkbook.Sheets("C_PP") 'Feuille source
        Set ongletB = ThisWorkbook.Sheets("TabDefauts") 'Feuille destination
     
     
        Set celluleRecherche = ongletA.Columns("AJ").Find("1", , xlValues, xlWhole, , , False)
                            'Colonne ou se trouve la condition + Find("la condition
     
        If Not celluleRecherche Is Nothing Then
            premiereAdresse = celluleRecherche.Address
     
     
            Do 'ongletB.range("Colonne ou vont se coller les valeurs
                ongletB.range("K" & ongletB.Rows.Count).End(xlUp).Offset(1, 0).Value = ongletA.range("AK" & celluleRecherche.Row)
                                                                        'Colonne ou se trouve la valeur à copier si condition Ok
     
     
                Set celluleRecherche = ongletA.Columns("AJ").FindNext(celluleRecherche)
                                            'Colonne ou se trouve la condition
     
            Loop Until celluleRecherche.Address = premiereAdresse
        End If
     Columns("E:G").EntireColumn.Hidden = True
    End Sub
    au plaisir

Discussions similaires

  1. Requete SQL calcule sur les colonnes
    Par rose-rose dans le forum SQL Procédural
    Réponses: 10
    Dernier message: 19/05/2011, 09h47
  2. Comment annuler les effets d'une macro sur les feuilles?
    Par jolzeviking dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/06/2008, 14h29
  3. Réponses: 4
    Dernier message: 07/05/2008, 10h53
  4. Réponses: 5
    Dernier message: 23/08/2007, 13h44
  5. Forcer le calcul d'une fonction sur des cellules masquées
    Par AAZRO dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/07/2007, 16h34

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