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 :

Problème sur sélection de la première ligne vide


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 231
    Points : 93
    Points
    93
    Par défaut Problème sur sélection de la première ligne vide
    Bonjour à tous !

    Je planche sur un script dont voici les étapes :
    En appuyant sur un bouton je souhaite :
    - Copier une sélection de cellules sur le tableau ouvert.
    - Ouvrir un autre fichier Excel.
    - Repérer et sélectionner la première ligne vide de ce fichier. (mon problème)
    - Coller les données en les transposant.
    - Sauvegarder et fermer le fichier.

    N'étant pas un expert en VBA, j'ai utilisé la fonction enregistrement de macro pour créer une base de code, mais malheureusement je bloque sur l'étape de sélection de la première ligne vide.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton7_Click()
        Range("C80:D82").Select
        Selection.Copy
        Workbooks.Open Filename:= _
            "Z:\Programmes France Equipements\Analyse technique\ajout.xlsx"
        Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=True
        Range("A4").Select
        Application.CutCopyMode = False
        ActiveWorkbook.Save
        ActiveWindow.Close
    End Sub

    Le script bloque sur la ligne 6 en indiquant "Erreur définie par l'application ou par l'objet".
    Qu'en pensez-vous ?

    Merci d'avance !

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Alors là ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & Rows.Count).End(xlDown).Offset(1, 0).Select
    Se place sur la dernière ligne du fichier, essaie de descendre encore une ligne plus bas... un peu bête

    Essaie plutôt ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & Rows.Count).End(xlup).Offset(1, 0).Select

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 231
    Points : 93
    Points
    93
    Par défaut
    Salut EngueEngue !

    Oui je m'étais aperçu de ça entre temps et j'ai modifié le code mon premier post, malheureusement ça ne change rien :/

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Spécifier les parents de tes range
    Workbooks("nomduworkbook").sheets("nomdusheet").range(

    Pour les objets range cells rows...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x = Workbooks("nomduworkbook").sheets("nomdusheet").Range("A" & Workbooks("nomduworkbook").sheets("nomdusheet").Rows.Count).End(xlup).row
     
    Workbooks("nomduworkbook").sheets("nomdusheet").cells(x, 1).select

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 231
    Points : 93
    Points
    93
    Par défaut
    Finalement j'ai trouvé le problème, il suffisait d'indiquer sur quelle feuille je travaillais, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CommandButton7_Click()
        Range("C80:D82").Select
        Selection.Copy
        Workbooks.Open Filename:= _
            "Z:\Programmes France Equipements\Analyse technique\ajout.xlsx"
        Worksheets("chargeur").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=True
        Application.CutCopyMode = False
        ActiveWorkbook.Save
        ActiveWindow.Close
    End Sub
    Merci EngueEngue

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/10/2014, 17h03
  2. [XL-2007] recherche de la première ligne vide
    Par Wyz_Ken dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/10/2009, 17h19
  3. Problème d'affichage des X premières lignes d'une requête
    Par TheFlow dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 22/07/2008, 10h44
  4. Ecrire sur la première ligne vide
    Par vanille972 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/08/2007, 10h30
  5. Remplir la première ligne vide
    Par Azounet1529 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/07/2007, 11h15

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