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 for en vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Par défaut boucle for en vba
    salut tout le monde
    mon prob c'est que mon me génère cette erreur
    object dosen't support this property or méthod

    voila mon code
    enfin je veu déplacer des cellules d'une colonne à une autre
    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
    Function GetLastLine(aColumn As String) As Integer
     
    ' return the last line of column specified by aColumn
     
    ' example: LastLine = GetLastLine("A")
     
        GetLastLine = Range(aColumn & "65536").End(xlUp).Row
     
    End Function
     
    Sub Procédure()
    Dim lastline As Long
    Sheet1("Feuil1").Select
    lastline = GetLastLine("A")
    Dim Index As Long
       For Index = 2 To lastline
               If Cells(Index, 1).Value = 2 Then
                  Cells(Index, 4) = Cells(Index, 3)
            ElseIf Cells(Index, 1).Value = 3 Then
                  Cells(Index, 5) = Cells(Index, 3)
            ElseIf Cells(Index, 1).Value = 4 Then
                  Cells(Index, 6) = Cells(Index, 3)
            ElseIf Cells(Index, 1).Value = 5 Then
                  Cells(Index, 7) = Cells(Index, 3)
            ElseIf Cells(Index, 1).Value = 6 Then
                  Cells(Index, 8) = Cells(Index, 3)
            ElseIf Cells(Index, 1).Value = 7 Then
                  Cells(Index, 9) = Cells(Index, 3)
            Else
                  Cells(Index, 3) = Cells(Index, 3)
              End If
        Next
     
     
     
    End Sub

  2. #2
    Membre expérimenté Avatar de Drost
    Profil pro
    Inscrit en
    Août 2007
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 192
    Par défaut
    Hello,

    Dans ta boucle for tu ne mets pas ton "step" cela peut affecter ta macro,
    Sinon peut etre que cela vien de l'utilisation de ta fonction last line que tu devrais peut etre incorporer directement dans ta macro....

    Tchuss Drost

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Par défaut
    merci
    mais comme je suis débutant j'arrive pas à comprendre ta réponse
    plus de déttaille svp

  4. #4
    Membre expérimenté Avatar de Drost
    Profil pro
    Inscrit en
    Août 2007
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 192
    Par défaut
    Reuh!

    For i=0 to lastline step 1 (cela te donne l'incrementation de ta boucle)

    Par contre je ne sais pas si ton code pour faire tourner ta fonction dans ta macro est correcte...
    Je pense que c'est peut etre mieux d'ecrire directement dans ta macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lastline = Range("A65536").End(xlUp).Row
    Tchuss

    Drost

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Par défaut
    donc dans ce cas la j'ai pas besoin de la fonction pour récupéré la dernière ligne de ma feuille,en gros mon but c'est lire l'indice de la ligne qui se trouve dans la première colonne et affecter l'intitulé de ligne à une colonne selon l'indice :ind 2--- col 4, 3-----col5 ......
    alos es que mon code est bon

  6. #6
    Membre expérimenté Avatar de Drost
    Profil pro
    Inscrit en
    Août 2007
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 192
    Par défaut
    Tes conditions semblent correct. Si j'ai compris, tu vérifie la valeur dans la colonne A et en fonction de cette valeur tu copie cette valeur dans une colonne mais toujours sur la même ligne?

    Il n'aurait pas été plus simple de passer par une fonction si dans ta feuille

    =si(A1 ="1"; A1; "") et faire ca dans toutes tes colonnes?

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

Discussions similaires

  1. boucle for en vba
    Par rolli2313 dans le forum Général VBA
    Réponses: 6
    Dernier message: 09/05/2010, 20h04
  2. Création dynamique et boucle for en vba Access 2000
    Par billy123 dans le forum Access
    Réponses: 4
    Dernier message: 22/02/2007, 12h29
  3. [VBA-E]PB sur une boucle for each next
    Par rond24 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/07/2006, 16h47
  4. aide vba boucle for each paramétrée en range
    Par gotlieb dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/07/2006, 09h55
  5. [VBA-E] erreur boucle for each
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/02/2006, 17h38

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