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 :

Boucle avec Condition et Affichage dans plusieurs lignes en VBA-Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Responsable Amélioration continue
    Inscrit en
    Janvier 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable Amélioration continue
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 3
    Par défaut Boucle avec Condition et Affichage dans plusieurs lignes en VBA-Excel
    Bonjour

    Je fais mes premiers pas dans VBA et j'ai de la difficulté à comprendre et à effectuer les boucles avec condition et les afficher dans différents cellules de la même colonne.

    Je veux avoir dans la colonne "C" le numéro de page de mon fichier si est seulement si la colonne "B" de la même ligne est une lettre (un "x" par exemple). Ceci sur toutes lignes de la même colonne jusqu’à la dernière activé (avec un "x"). Pour pouvoir faire un Index avec un lien en Excel

    Voici la Macro pour afficher le numéro de page de la cellule active actuellement. Elle fonctionne très bien (même si l'affichage est long) mais elle affiche seulement le #page dans la case sélectionné. J'essaie de la modifier mais je n'arrive pas à faire la boucle avec la condition de la colonne "B" pour avoir le #page dans toutes les cellules de "C"

    i.e. exemple.: Si "$B176" contient une "x" met le numéro de la page (voir macro suivante) dans "$C176" jusqu'à la dernière ligne active. J'espère être assez claire dans ma demande.

    Est-ce que quelqu'un peut m'aider, svp

    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
    Sub NbrPageCell()
     
        Dim xVPC As Integer
        Dim xHPC As Integer
        Dim xVPB As VPageBreak
        Dim xHPB As HPageBreak
        Dim xNumPage As Integer
        xHPC = 1
        xVPC = 1
     
        If ActiveSheet.PageSetup.Order = xlDownThenOver Then
            xHPC = ActiveSheet.HPageBreaks.Count + 1
        Else
            xVPC = ActiveSheet.VPageBreaks.Count + 1
        End If
        xNumPage = 1
        For Each xVPB In ActiveSheet.VPageBreaks
            If xVPB.Location.Column > ActiveCell.Column Then Exit For
            xNumPage = xNumPage + xHPC
        Next
        For Each xHPB In ActiveSheet.HPageBreaks
            If xHPB.Location.Row > ActiveCell.Row Then Exit For
            xNumPage = xNumPage + xVPC
        Next
        ActiveCell = xNumPage
     
    End Sub
    Merci d'avance

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    Personnellement j'ai pas compris la demande, peux tu afficher un capture écran des données de départ (non discrètes) et donner un exemple
    En général :
    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 test()
    Dim F As Worksheet
    Dim derligne As Long
    Dim I As Integer
    Set F = Sheets("Feuil1") ' à adaoter
    With F
    derligne = .Cells(Rows.Count, 1).End(xlUp).Row ' déterminer le dernière ligne non vide de la colonne 1
    For I = 2 To derligne ' à titre d'exemple commencer par deuxieme ligne
    If .Cells(I, 2) = "X" Then
    .Cells(I, 3) = "llllll"
    End If
    Next I
    end with
    End Sub
    Bonne continuation

  3. #3
    Candidat au Club
    Femme Profil pro
    Responsable Amélioration continue
    Inscrit en
    Janvier 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable Amélioration continue
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 3
    Par défaut
    Voici joint la capture d'écran de mon tableau pour aider à comprendre ma demande. J'espère que ça va être plus claire

    Merci BENNASR
    Fichiers attachés Fichiers attachés

  4. #4
    Candidat au Club
    Femme Profil pro
    Responsable Amélioration continue
    Inscrit en
    Janvier 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable Amélioration continue
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 3
    Par défaut
    Pour clarifier ma demande

    Je chercher à faire une Table des matières dans excel d'une liste avec une pagination automatique des sections.

    Lorsque je fais des modifications dans la liste je veux refaire une mise à jour automatique de la pagination comme dans "Word"

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/01/2018, 18h14
  2. [XL-2003] Boucle pour (moteur de) recherche dans plusieurs colonnes et affichage réponse
    Par Cenotik dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/04/2011, 00h47
  3. Sélection colonne dans boucle avec condition
    Par fabiencal dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/09/2009, 09h31
  4. affichage de plusieurs lignes dans un titre de tabpanel
    Par amadoulamine1 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 20/12/2008, 13h52
  5. [MySQL] Affichage sur plusieurs lignes dans base de données
    Par asvin dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 28/10/2008, 19h07

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