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 :

dernière colonne d'une feuille d'un classeur


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
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Par défaut dernière colonne d'une feuille d'un classeur
    Bonjour tout le monde

    Je suis sur excel 2003 et j'essaie de programmer une application et je bute sur une partie de mon code :
    je fais des calculs sur une feuille1 et je voudrais qu'il me boucle de la 1ère colonne de la ligne 3 de la feuille2 à la dernière valeur non vide de cette même ligne

    J'ai ébauché un semblant de code après quelques recherches ça ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Set plage = Range(Worksheets("feuil2").Cells(3, 1), [Worksheets("feuil2").Cells(3, 1)].End(xlToRight))
            nbcolonnes = plage.count
             For j = 2 To nbcolonnes
                 If Feuil1.Cells(10, 2 + 7 * i).Value Like Feuil2.Cells(3, j).Value Then
     
                        col = j
                    End If
     
             Next
    si vous pouvez m'aider à transformer cet essai en but svp pour et merci d'avance

  2. #2
    Membre chevronné
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Par défaut
    Tu te mets sur une cellule de ta ligne et tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.End(xlToRight).Select
    Cela t'emmèneras à la première cellule à gauche de la première cellule vide de cette ligne.

    Si tu as des cellules vides au milieu de ta ligne, il faut que tu te places en colonne IV et faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.End(xlToleft).Select
    tu tomberas sur la dernière cellule non vide de ta ligne.

    Tu peux retrouver ce code grâce à l'enregistreur de macro en faisant ctrl + flèches (haut/bas/gauche/droite)

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Par défaut
    merci oOVaveOo pour ta réponse
    c'est pas vraiment cela que je veux
    je voudrais pouvoir avoir le nombre de colonnes d'un tableau qui se trouve sur une autre feuille (feuille2) et ensuite utiliser cette valeur pour faire une boucle
    par exemple et cela tout en restant sur feuille1
    for j=2 to cette valeur

    j'espère avoir été plus claire sinon c'est avec plaisir que j'essaierai de l'être d'avantage

    merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Regardez ici pour trouver la dernière colonne (entre autre) et les solutions possibles :

    http://www.developpez.net/forums/d33...uille-calculs/

    ensuite et par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Essai()
    Set ws = Worksheets("Feuil2")
    With ws
    dc = Range("A2").End(xlToRight).Column
    For j = 2 To dc
    'code........
    Next i
    End With
    End Sub

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    La logique voudrait plutôt qu'on parte de la droite (colonne 256), qu'on utilise xlToLeft, si on la compare avec la méthode pour trouver la dernière ligne.

    Ca fournit surtout de meilleurs résultats, car celle qui consiste à faire "de gauche à droite" s'arrêtera à la 1ère cellule vide, ce qu'on ne souhaite pas forcément.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Citation Envoyé par decondelite Voir le message
    La logique voudrait plutôt qu'on parte de la droite (colonne 256), qu'on utilise xlToLeft, si on la compare avec la méthode pour trouver la dernière ligne.

    Ca fournit surtout de meilleurs résultats, car celle qui consiste à faire "de gauche à droite" s'arrêtera à la 1ère cellule vide, ce qu'on ne souhaite pas forcément.
    Et ça tu as essayé?

  7. #7
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Par défaut
    bonjour et merci jacques_jean pour ta réponse
    j'ai essayé ton code mais bizarrement il ne marche pas. il ne rentre même pas dans la boucle et quand je remplace dc par 40 par exemple cela fonctionne

    j'ai parcouru le lien dont je te remercie et cela ne m'a pas expliqué pourquoi ton code ne fonctionne pas alors qu'il a l'air très correct

    merci encore

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Si vous avez une ou plusieurs colonnes vide(s) essayez comme le dit Decondelite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Essai()
    Set ws = Worksheets("Feuil2")
    With ws
    dc = Range("IV3").End(xlToLeft).Column
    For j = 2 To dc
    'code........
    Next i
    End With
    End Sub

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/04/2014, 23h18
  2. [XL-2007] Copier dernière ligne d'une feuille vers autre classeur fermer
    Par stephadm dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/04/2012, 11h13
  3. copier certaines colonnes d'une feuille Excel
    Par emeraudes dans le forum Access
    Réponses: 7
    Dernier message: 12/04/2006, 16h57
  4. [VBA-E]Existence d'une feuille dans un classeur EXCEL
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/04/2006, 15h58
  5. [VBA-E]renommer une feuille d'un classeur
    Par jeremiegrenoble dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/03/2006, 09h17

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