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 :

Parcourir des colonnes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par défaut Parcourir des colonnes
    Bonjour,

    J'essai de faire une macro qui parcours plusieurs colonnes sur une seule ligne et si la cellule est vide saisie 0 dedans sinon elle passe à la prochaine.

    J'ai essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim i As byte
     
    For Each Cell In Sheets("Feuil1").Range("D25:AM25")
     
        If ActiveCell.Value <> "" Then
            i = i + 1
        Else: ActiveCell.FormulaR1C1 = "0"
     
        End If
     
    Next
    Pas d'erreur de code mais ça ne fait rien, alors j'ai essayé :

    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
    Dim i As Integer
     
    i = 1
     
     
    Range("D25:AM25").Select
     
     
    While Cells(1, i) <> ""
     
    'i = i + 1
     
     
        If ActiveCell.Value <> "" Then
            i = i + 1
        Else: ActiveCell.FormulaR1C1 = "0"
     
        End If
     Wend
    mais marche pas non plus...

    Merci de votre aide

    Valérie

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    Salut Valérie

    j'esper que mon petit bout de code t'aidera et si tu a des question n'ésite pas

    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
     
        Dim compteur_colonne As Integer
        Dim nom_feuille As String
     
        nom_feuille = ActiveSheet.Name                                               'recupere le nom de la feuille
    	Worksheets(nom_feuille).Activate                                               'active la feuille (rend accecible les cellule de cette feuille)
     
     
    	With ActiveSheet
    		For compteur_colonne = 4 To 39                       'on commance a 4 car D = 4eme colonne et on fini a 39 car AM est la 39eme colonne
    			If .Cells(25, compteur_colonne) = "" Then        'si la cellule est vide
    				Cells(25, compteur_colonne) = 0               'on lui atribu la valeur 0 sinon on passe a la cellule suivante
    			End If
    		Next compteur_ligne
    	End With

  3. #3
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour,

    attention il y a une petite erreur ici

    Il faut lire
    en lieu en place de

  4. #4
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par défaut
    Bonjour Teen,

    Merci de ta réponse rapide ça marche nikel !!

    dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If .Cells(25, compteur_colonne) = "" Then
     Cells(25, compteur_colonne) = 0
    C'est quoi 25 stp ?

  5. #5
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par défaut
    Ah oui c'est le nombre de ligne dans le cas où on en aurait à parcourir

    Godzestla : effectivement, vu que je n'ai besoin que d'une ligne dans ma macro (ha les exceptions...) j'avais supprimé "compteur_ligne".

    Merci à tous les 2 et bonne fin de journée,

    [EDIT]
    Bon j'ai rien dit... en fait ça ne marche pas meme avec compteur_colonne après Next... comme la ligne était déjà rempli ça m'a induit en erreur...

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    oups dsl pour la petite erreur dans les compteur

    J'ai utilisé mon code qui lit parcourais dans la meme colonne toute les ligne et dans le copier coller g oublier de modifier la derniere ligne de code ^^

    ben en fait le 25 dans mon code c la ligne sur laquelle tu reste ^^

    dans ton exemple tu allais de la cellule D25 à la cellule AM25

    dans mon code une cellule se localise grace a 2 variable ligne et colone

    Cell(ligne, colonne)
    donc si tu change que de colonne et garde la ligne fixe tu remblace la variable par une constante ^^

    jesper que sa taide mon charabia ^^ moi en tous cas je me comprend bien

    tu a toujour des erreur ou sa marche??
    tu tu a des erreur donne ton code explique en francais se que tu cherche a faire et demain matin je tente de taider si c'est dans mais corde et si les noctembule ton pas deja aidé ^^

    sur ce chez moi on dit bonne soiré

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Pourquoi utiliser des variables ligne et colonne alors que Rynn était parti sur de bonnes bases?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim i As byte
    Dim Cell As Range
     
    For Each Cell In Sheets("Feuil1").Range("D25:AM25")
     
        If Cell.Value = "" Then
            Cell.Value = 0
        Else
            i = i + 1
        End If
     
    Next Cell
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. parcourir des colonnes avec des conditions
    Par waaAs dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/07/2011, 17h31
  2. Parcourir les colonnes des tables entrées en paramètre
    Par squall62 dans le forum VBA Access
    Réponses: 7
    Dernier message: 29/09/2008, 10h24
  3. DBGrid : enregister la position des colonnes
    Par Harry dans le forum Bases de données
    Réponses: 8
    Dernier message: 21/07/2004, 22h27
  4. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 18h19
  5. Dimensions des colonnes d'un TDBGrid
    Par osmose22 dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/12/2002, 12h27

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