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 :

Sélection d'une cellule vide dans un fichier "ouvert" avec GetOpenFilename


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 79
    Points : 41
    Points
    41
    Par défaut Sélection d'une cellule vide dans un fichier "ouvert" avec GetOpenFilename
    Bonjour à tous,

    J'ai deux données d'un fichier "A" que je veux transmettre à un fichier "B" "ouvert" avec GetOpenFilename.

    Ma difficulté est que je ne connais pas l'adresse des cellules où je dois copier. En effet, je dois les inscrire dans la première cellule vide de chacune des colonnes concernées.

    J'ai tenté d'écrire un bout de code mais je bloque dans l'affectation de la valeur de la cellule à compléter à partir de la connaissance des dernières cellules occupées.

    Auriez-vous des conseils à me donner pour écrire le code nécéssaire ?

    A tout hasard, je vous soumets le code que j'ai déjà écrit

    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 Montant As Currency
        Dim MettreAJourFacturation As Workbook
        Dim NomduFichier As Long
        Dim PreCellLibreMontant As String
        Dim PreCellLibreNomFichier As String
        NomduFichier = Len(ThisWorkbook.Name) - 5
        Montant = Worksheets("Livraison").Range("C34").Value
        Set MettreAJourFacturation = GetObject("C:\Users\Maurice GUILLIER\Documents\RécapitulatifFacturation.xlsx")
        PreCellLibreNomFichier = MettreAJourFacturation("Feuil1").Range("B1").End(xlDown).Address
        PreCellLibreMontant = MettreAJourFacturation("Feuil1").Range("C1").End(xlDown).Address
        MettreAJourFacturation.Sheets("Feuil1").Range.PreCellLibreNomFichier.Address.Value = Mid(ThisWorkbook.Name, 1, NomduFichier)
        MettreAJourFacturation.Sheets("Feuil1").Range.PreCellLibreMontant.Address.Value = Montant
        Windows("RécapitulatifFacturation.xlsx").Visible = True
        Workbooks("RécapitulatifFacturation.xlsx").Save
        MettreAJourFacturation.Close
    Je vous en remercie par avance,
    Cordialement,
    Maurice

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

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

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

    je te conseille d'utiliser End(Xlup) pour treouver la dernière cellule utilisée et puis de prendre la suivante.

    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 Montant As Currency
        Dim MettreAJourFacturation As Workbook
        Dim NomduFichier As Long
        Dim PreCellLibreMontant As String
        Dim PreCellLibreNomFichier As String
        NomduFichier = Len(ThisWorkbook.Name) - 5
        Montant = Worksheets("Livraison").Range("C34").Value
        Set MettreAJourFacturation = GetObject("C:\Users\Maurice GUILLIER\Documents\RécapitulatifFacturation.xlsx")
        PreCellLibreNomFichier = "B" & MettreAJourFacturation("Feuil1").Range("B65535").End(xlUp).row + 1
        PreCellLibreMontant = "C" & MettreAJourFacturation("Feuil1").Range("C65535").End(xlUp).row + 1
        MettreAJourFacturation.Sheets("Feuil1").Range(PreCellLibreNomFichier).Value = Mid(ThisWorkbook.Name, 1, NomduFichier)
        MettreAJourFacturation.Sheets("Feuil1").Range(PreCellLibreMontant).Value = Montant
        Windows("RécapitulatifFacturation.xlsx").Visible = True
        Workbooks("RécapitulatifFacturation.xlsx").Save
        MettreAJourFacturation.Close

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Bonjour et merci,

    Cependant, je me retrouve encore - c'est ce qui me tombait sur la tête - avec une erreur d'exécution '438' soit Propriété ou méthode non gérée par cet objet.

    Je ne sais qu'en penser !

    Merci pour l'aide supplémentaire pour que j'en sorte.

    Cordialement,
    Maurice

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Cependant, je me retrouve encore - c'est ce qui me tombait sur la tête - avec une erreur d'exécution '438' soit Propriété ou méthode non gérée par cet objet.
    Du reste cependant, le père Noël ne m'ayant point encore gratifié d'une boule de cristal, il faudrait peut-être envisager d'être foncièrement plus explicite quant-au code tel que dans son état actuel il se présente ainsi que la ligne sur laquelle l'erreur qui n'aurait pas du avoir lieu l'a quand même.

    Une 438 sur la tête, est-ce douloureux ?

Discussions similaires

  1. [XL-2000] Détection d'une cellule vide dans une ligne.
    Par babou41287 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/04/2012, 15h40
  2. Supprimer une ligne vide dans un fichier texte
    Par Tibà22 dans le forum Débuter
    Réponses: 2
    Dernier message: 18/04/2011, 16h58
  3. Réponses: 1
    Dernier message: 17/03/2011, 17h20
  4. [Batch] Imprimer une ligne vide dans un fichier de sortie avec echo
    Par THKKK dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 19/05/2010, 21h11
  5. [PHP 5.0] Passer une variable vide dans un fichier texte
    Par tarmo57 dans le forum Langage
    Réponses: 2
    Dernier message: 22/02/2009, 14h45

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