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 :

[VBA-E] Positionnement dans une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut [VBA-E] Positionnement dans une feuille
    Bonjour,

    Ceci est ma première discussion dans ce forum, étant novice en ce qui concerne le VBA.

    Je suis confronté à un problème, qui l'eut cru

    Je dois effectuer le traitement suivant:

    1. Ouvrir un ficheir, et dans 3 feuilles effacer certaines lignes basées sur certaines conditions (date) ... pas de problèmes ici.
    2. Ouvrir un 2d fichier copier depuis ce 2d fichier vers le premier fichier, et ce à l'endroit de la première ligne vide dans les feuilles du 1er fichier ... ici aussi pas de problèmes.
    3. Ouvrir un 3eme fichier copier depuis ce 3eme fichier vers le premier fichier, et ce à l'endroit de la première ligne vide dans les feuilles du 1er fichier ... ici se situe le problème.

    Lors de la 1ère copie, 'VBA' se positionne automatiquement sur la 1ère ligne vide, tandis que pour la 2de copie il reste positionné sur cette même 1ère ligne ... comment dois-je procéder afin de me déplacer vers cette 1ère ligne vide?

    Merci pour toute aide.

    Guy

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Teste la première ligne vide de ton fichier 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        DernièreLigne = Workbooks("Un").Worksheets("feuil1").Range("A1").SpecialCells(xlCellTypeLastCell).Row
    Première ligne vide = DernièreLigne + 1
    Tu simplifies
    Donc, pour coller ta donnée, tu le fais dans la cellule de la ligne en question.
    Si tu as un pb, montre ton code.
    A+

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut Vais tester cela
    Bonjour,

    Merci pour ta réponse, je vais tester ta solution dans les jours à venir. Posterai mon code si cela ne marches pas (tires pas sur le pianiste au vu du code, c'est mon premier 'programme' VBA).

    Guy

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Pas de pb, d'autant que j'avais oublié le point aprés Workbooks("Un"). Ecris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DernièreLigne = Workbooks("Un").Worksheets("feuil1")...
    où "Un" est à remplacer par le nom du fichier
    A+

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut Testé mais c'est pas complet
    OK, j'ai testé la ligne de code donnée et cela me retourne en effet la dernière ligne non vide du fichier. Alors je croyais utilser une ligne du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("feuill1").Range(Cells(lignevide, 1), Cells(derniereligne, 29)).Paste
    mais ca marche pas ... si on pouvait encore m'aider à compléter cela. Merci d'avance.

    Je joins aussi mon code source ... faut pas regarder si c'est optimal, je crois bien que non, mais c'est le 1er en VBA alors ....

    Merci d'avance et un Joyeux Noel à ceux qui litont le message

    Guy
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    pourrai tu être plus clair sur ce que tu ve copier ... d'ou et vers ou ..?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut De ou vers ou ...
    Bonjour,

    Je vais essayer d'être plus clair comme demandé.

    J'ai donc un 1er fichier qui doit être mis à jour. Avant de le mettre à jour j'efface les lignes en testant certaines conditions (effacer les lignes du mois courant et si <15 du mois celles du mois précédent aussi).

    Une fois les lignes effacées je dois ouvrir un 2d et un 3ème fichier, d'ou je vais copier les lignes du mois courant et si <15 du mois celles du mois précédent.

    Chacun des 3 fichiers a la même structure et je fais ce traitement dans 3 feuilles, appelées dans mon code 'Passkey Data, 'WFM Data' et 'Click-Schedule Data'.

    J'espère que ceci clarifie le problème. SI ce n'est pas le cas, je peux donner des explications encore plus détaillées.

    Merci.

    Guy

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Citation Envoyé par GuyRo
    OK, j'ai testé la ligne de code donnée et cela me retourne en effet la dernière ligne non vide du fichier. Alors je croyais utilser une ligne du style:

    Worksheets("feuill1").Range(Cells(lignevide, 1), Cells(derniereligne, 29)).Paste
    mais ca marche pas ... si on pouvait encore m'aider à compléter cela.
    Pour copier une ligne dans un classeur, tu dois te placer dans le classeur devant recevoir la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    workbooks("Fich2").worksheets("Feuil1").Activate
    Range(PremièreCelluleOùColler).select 'ex : B7
    workbooks("Fich1").worksheets("Feuil1").Range(Cells(LaLigne, LaCol1), Cells(LaLigne, LaCol2)).Copy
    Activesheet.paste
    Si PremièreCelluleOùColler = B7, colle tes données sur la ligne 7 à partir de la colonne B
    A+

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut Merci. Problème résolu
    Tout d'abord souhaiter une bonne année 2007 à tous.

    Ensuite dire merci pour l'aide apportée. J'arrive à faire 95% de ce que je suis supposé faire. Vais d'abord investiguer le problème restant avant de faire appel au forum.

    Guy

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

Discussions similaires

  1. [XL-2010] Problème de positionnement de graphique dans une feuille - VBA
    Par raphdes dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/08/2014, 12h12
  2. [VBA-E] positionnement dans une feuille excel
    Par fast&furious dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2007, 12h59
  3. [VBA-PP]Ecrire dans une feuille Excel
    Par alpking dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 27/04/2006, 18h18
  4. [VBA - E2003] Ecrire dans une feuille deplacement ?
    Par Slumpy dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/04/2006, 19h19
  5. [VBA]Userform mobile dans une feuille excel
    Par fikren dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/10/2005, 15h45

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