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 :

[VBA_E] Problème de mise ne forme,pour balayage


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Points : 42
    Points
    42
    Par défaut [VBA_E] Problème de mise ne forme,pour balayage
    Bonjour à tous

    Voila, j'ai un petit problème lors de la réalisation de ma page, afin d'y réaliser un balayage futur

    Voila le problème, je n'arrive pas a déterminer ma mise ne place de mes cellules.

    de la forme
    _______________Init__________
    __________________Entry______
    _______________________Entry_
    __________________Exit_______ 3 lignes en plus

    Init correspond à la valeur de calcul final antérieur
    Si j'ai entry, je passe à la colonne suivante, si j'ai Exit, je reviens en arrière.

    Mais sa ji arrive pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    'Mise ne place des calculs
        N = Feu.Cells(i - 1, 14).Value  'Valeur init
        Bal.Activate
        Cells(1, N).Value = "Init"   'je met en place Init
        derlp = Bal.Cells(65536, 1).End(xlUp).Row  
                           'je compte mon nombre de ligne en plus
        For i = 2 To derlp
            If Cal.Cells(i, 2).Value = "Entry" Then
                Bal.Cells(i, x).Value = "Entry"
            If Cal.Cells(i, 2).Value = "Exit" Then
                Bal.Cells(i, x).Value = "Exit"
    voila le truc, x je n'arrive pas à le remplacer.

    Merci

  2. #2
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    pas trés clair c'est quoi ... Cal ..? ..

    à l'init tu fais x= N ... puis avant de poser chaque Entry tu fais x=x+1, et après avoir posé Exit tu fais x=x-1...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Points : 42
    Points
    42
    Par défaut
    Salut Bbil

    oui je sais pas très clair pour moi aussi, c'est un truc que je vien de penser pour modifier un ancien programme que mon chef ne veu pas.

    Cal c'est une des pages
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AFR703PL	Entry	15:06:28
    BAW46	Entry	15:06:39
    voila se qu'on y trouve
    j'ai 2 Entry sur cette page

    je copie donc mes cellules sur ma feuille selon la donnée init, que j'ai récupérer sur Feu (Feuil1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        'Mise ne place des calculs
        N = Feu.Cells(i - 1, 14).Value
        Bal.Activate
        Cells(1, N).Value = "Init"
        derlp = Cal.Cells(65536, 1).End(xlUp).Row
        For k = 2 To derlp
            'x valeur de la colonne de la ligne précédente ou <> de ""
            'x =
            If Cal.Cells(k, 2).Value = "Entry" Then
                Bal.Cells(k, x + 1).Value = "Entry"
            Else
                Bal.Cells(k, x - 1).Value = "Exit"
            End If
        Next k
    Bal, c'est la page Balayage
    je vien de modifier un morceau j'avai fai une faurte sur derlp

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Points : 42
    Points
    42
    Par défaut
    init en colonne 5

    si entry, je copie en ligne 2 colonne 6
    après j'ai exit, je copie ne ligne 3 colonne 5
    ...

  5. #5
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par baptbapt
    init en colonne 5

    si entry, je copie en ligne 2 colonne 6
    après j'ai exit, je copie ne ligne 3 colonne 5
    ...
    ... et alors...?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Points : 42
    Points
    42
    Par défaut
    c'est justement sa que j'arrive pas a faire
    copie la cellule en décalant suivant le type de la variable

    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
    'Mise ne place des calculs
        N = Feu.Cells(i - 1, 14).Value
        Bal.Activate
        Cells(1, N).Value = "Init"
        derlp = Cal.Cells(65536, 1).End(xlUp).Row
        For k = 2 To derlp
            'x valeur de la colonne de la ligne précédente ou <> de ""
            For u = 1 To derlp
            For y = 1 To 50
                If Cells(1, y).Value <> "" Then
                x = y
                End If
            Next y
            If Cal.Cells(k, 2).Value = "Entry" Then
                Bal.Cells(k, x + 1).Value = "Entry"
            Else
                Bal.Cells(k, x - 1).Value = "Exit"
            End If
            Next u
        Next k
    voila pour l'instant avec l'initialisation de x
    mais la
    j'ai

    ______________init________
    _________________Entry___
    _________________Entry___

  7. #7
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    ce n'est pas cela :
    Citation Envoyé par bbil
    pas trés clair c'est quoi ... Cal ..? ..

    à l'init tu fais x= N ... puis avant de poser chaque Entry tu fais x=x+1, et après avoir posé Exit tu fais x=x-1...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ...
     Cells(1, N).Value = "Init"
     x=N
    ...
    ...
            If Cal.Cells(k, 2).Value = "Entry" Then
                Bal.Cells(k, x).Value = "Entry"
                x= x+1
            Else
                Bal.Cells(k, x).Value = "Exit"
                x=x-1
            End If

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Points : 42
    Points
    42
    Par défaut
    Cal c'est ma feuille de calcul

    ou se trouve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AFR703PL	Entry	15:06:28
    BAW46	Entry	15:06:39
    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
        'Mise ne place des calculs
        N = Feu.Cells(i - 1, 14).Value
        Bal.Activate
        Cells(1, N).Value = "Init"
        derlp = Cal.Cells(65536, 1).End(xlUp).Row
     
      '  For k = 2 To derlp
            'x valeur de la colonne de la ligne précédente ou <> de ""
            For u = 1 To derlp
              For k = 2 To derlp
            'Recherche de x
            For y = 1 To 50
                If Cells(u, y).Value <> "" Then
                x = y
                End If
            If Cal.Cells(k, 2).Value = "Entry" Then
                Bal.Cells(k, x + 1).Value = "Entry"
            Else
                Bal.Cells(k, x - 1).Value = "Exit"
            End If
            Next y
            Next k
            Next u
      '  Next k
    j'ai fait des modif, mais c'est toujours pas bon, la j'en ai beaucoup trop de entry, il m'en fou partout

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Points : 42
    Points
    42
    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
     
    For k = 2 To derlp
                For y = 1 To 50
                    If Bal.Cells(k - 1, y).Value <> "" Then
                        x = y
                        Exit For
                    End If
                Next y
                If Cal.Cells(k, 2).Value = "Entry" Then
                    Bal.Cells(k, y + 1).Value = "Entry"
                Else
                    Bal.Cells(k, y - 1).Value = "Exit"
                End If
            Next k
    C'ets bon j'ai le code qui fonctionne au poil

    Par contre, comment fait t'on un balayage?

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/08/2009, 20h20
  2. [CR9] [CRXI] Problème de mise en forme sur un nom de groupe
    Par Maltus dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 06/09/2006, 10h32
  3. [VBA] Problème enregistrement mise en forme fichier word
    Par guenfood dans le forum VBA Word
    Réponses: 1
    Dernier message: 07/06/2006, 14h10
  4. Idée de mise en forme pour affichage de code
    Par binouche22 dans le forum Mise en forme
    Réponses: 8
    Dernier message: 16/03/2006, 18h14

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