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]Eviter les selections


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut [VBA-E]Eviter les selections
    Salut,

    j'ai vu que les selections pernaient du temps et je voudrais donc voir si il etait possible d'ameliorer ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Worksheets("noms1").Select
    [A1].Select
    PremiereLigneLibre = Selection.CurrentRegion.End(xlDown).Row
    sachant que j'ai des valeurs de A1 à C5 (pour le moment, ensuite des lignes comprenant toutes 3 colonnes peuvent se rajouter)

    c'est pourquoi je selectionne une cellule qui est sure d'avoir une valeur. juste avant cela je rend la page "noms1" visible pourtant, il semble qu'elle n'est pas automatiquement selectionnée car sans les 2 premieres lignes de mon code, j'ai une erreur (depassement de capacité) ce qui montre qu'il ne selectionne pas la bonne page et reste sur feuil1 qui est vierge.

    au moins est-il possible de regrouper mes 2 premieres ligne en 1 seule?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("noms1").range("A1").Select
    un truc comme ca mais qui ne me met pas d'erreur sur l'utilisation de "range"

    voilà, mon conde fonctionne je voudrais juste voir si c'est possible de l'ameliorer.

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Worksheets("noms1").Select
    [A1].Select
    PremiereLigneLibre = Selection.CurrentRegion.End(xlDown).Row
    Tu l'a essayé cette ligne de code ? ça te fait quoi ?

    Sinon ce que tu peux faire aussi c'est une définition de variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim f as worksheet
    dim p as range
    set f = worksheets("noms1")
    set p = f.range("A1:C5")
    mais normalement ta ligne que tu as mise au dessus marche non ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    [LEFT]Je sais pas tester ici mais ca devrait être qqch du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Worksheets("noms1").cells(1,1).currentregion.End(xlDown).Row
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("noms1").range("A1").currentregion.End(xlDown).Row
    ou si ca va pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("noms1").range("A1:A1").currentregion.End(xlDown).Row

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    me revoilà,

    PremiereLigneLibre donne ici le Num de la derniere ligne utilisée donc pour l'exemple il donne 5.

    mon rang ne sera pas toujours A1:C5, et oui illight, ma derneire ligne marche comme jel'ai dit ! je cherche juste à améliorer !

    alors pour toi vesta, ta solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DerniereLigne = Worksheets("noms1").Range("A1").CurrentRegion.End(xlDown).Row
     
    MsgBox DerniereLigne
    (j'ai renommé par derniereligne qui convient mieux)
    elle convient mais il me compte le nombre de ligne de "noms1" (5) mais par exemple voici le code qui suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    If MenuGeneral.OptionButton1 = True Then
            Cells(DerniereLigne + 1, 3).Value = 1
    (cette condition est vraie) il me copie "1" dans la ligne 6 de la colonne C, donc ce que je souhaite faire, sauf qu'il copie ca dans feuil1 et pas dans "noms1" donc je suis obligé de mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Worksheets("noms1").Select
    avant ta ligne.
    enfin cette solution me permet deja de ne plus avoir la ligne
    donc je "gagne" un select. J'attends encore un peu pour voir si personne n'a une meilleure idée mais là c'est déjà mieux

Discussions similaires

  1. [AC-2002] Executer un SELECT en VBA et exploiter les données
    Par Zuthos dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/08/2012, 17h27
  2. Select restrictif - eviter les doublons
    Par Miglalune dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/02/2008, 14h47
  3. [VBA-E] Eviter les clignotements
    Par boux2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/07/2006, 10h44
  4. eviter les accent lors d'un select
    Par agougeon dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 31/10/2005, 19h55
  5. [VBA-E]modifier les attributs d'un commentaire dans une cellule
    Par Olivier vb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/03/2004, 10h26

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