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] Selection de valeur uniquement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 509
    Par défaut [VBA-E] Selection de valeur uniquement
    Bonjour à tous

    J'ai un petit souci, dans un tableau je fais une recherche de zone qui comporte des valeurs mais dans mon tableau j'ai une partie avec des cellules qui comporte des formules et egalement des valeurs dans ces meme cellules et dans une partie inferieur du tableau uniquement des formules dans les cellules comment puis ne selectionner que la partie supérieur avec les valeurs et pas la totalité du tableau.

    mon code de selection dans le tableau est celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Dim firstcell, lastcell, zone As Range
     
    Set firstcell = Range("AA5")
    Set lastcell = Range("T65536").End(xlUp)
    Set zone = Range(firstcell, lastcell)
    Range(firstcell, lastcell).Select
     selection.Copy
    Si quelqu'un peut m'aider!

    Merci d'avance.

  2. #2
    Expert éminent


    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
    Par défaut
    bonjour... , pourrai-tu être plus clair.. sur ton histoire de formules et valeurs... ne sagirait t'il pas plutôt de cellule contenant des formules dont le résultat et une chaine vide (ou 0) et d'autre contenant les mêmes (ou d'autre) formules avec un résultat diférent...?

    ... sinon les formules elles sont dans toutes les colonnes...? .. tu peu par exemple partir de ta derniére cellule et remonter.. jusqu'a obtenir une valeur <> ""...?


    Tiens ... vois ce code à placer aprés ton set Zone
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For i = zone.Count To 1 Step -1
      If zone.Cells(i) <> "" Then Exit For
    Next
    Set lastcell = zone.Cells(i)
    Range(firstcell, lastcell).Select
    PS : Je trouve quand même ta sélection initiale qui va de la cellule AA5 , jusqu'as la derniére cellule dans colonne T...

  3. #3
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 509
    Par défaut
    mon tableau est composé de cellules comportant toute le meme style de formule:
    =SI(B13="";"";B13)

    est donc la partie superieur du tableau corporte des valeurs equivalentes aux cellules corespondantes en locurence pour celle ci B13 ( cette valeur peut etre soit un chiffre soit des lettres) et la partie inferieur toujours les meme type de formule mais pas de valeur : ""

  4. #4
    Expert éminent


    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
    Par défaut
    tu as vu mon code..? et compris ..?

  5. #5
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 509
    Par défaut
    excuse j'avais pas vu ton code

    mais j'ai un souci il ne selectionne que les colonnes de Z à AA est pas de T à AA est je ne vois pas pourquoi voila le code complet de la Macro :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     Sub selectionTab()
     
    Dim firstcell, lastcell, zone As Range
     
    Set firstcell = Range("AA5")
    Set lastcell = Range("T65536").End(xlUp)
    Set zone = Range(firstcell, lastcell)
    For i = zone.Count To 1 Step -1
      If zone.Cells(i) <> "" Then Exit For
    Next
    Set lastcell = zone.Cells(i)
    Range(firstcell, lastcell).Select
     selection.Copy
        Workbooks.Add
        ActiveSheet.Paste Link:=True
        With selection.Interior
            .ColorIndex = 6
            .Pattern = xlSolid
        End With
        Set firstcell = Range("H1")
    Set lastcell = Range("H65536").End(xlUp)
    Set zone = Range(firstcell, lastcell)
    Range(firstcell, lastcell).Select
    selection.ClearContents
     
    End Sub
    Si tu peux me l'expliquer merci

  6. #6
    Expert éminent


    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
    Par défaut
    oui ... il y as une coquille dans mon code... il faut modifier la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set lastcell = zone.Cells(i)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set lastcell = zone.Parent.Cells(zone.Cells(i).Row, 20) ' 20 =Colonne T
    PS : eu ... il doit y avoir plus simple mais la je vois pas

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

Discussions similaires

  1. VBA compter le nombre de valeurs uniques
    Par Tableau de bord 7 dans le forum Contribuez
    Réponses: 1
    Dernier message: 04/06/2014, 09h27
  2. [Toutes versions] VBA : coller les valeurs uniques d'un tableau virtuel en entêtes de colonnes
    Par thiefer dans le forum Excel
    Réponses: 4
    Dernier message: 16/05/2014, 18h03
  3. Liste dynamique avec valeur unique de selected
    Par livininchina dans le forum Langage
    Réponses: 2
    Dernier message: 31/08/2012, 15h43
  4. VBA: Erreur d'affichage listbox avec valeur unique
    Par polenade dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/07/2012, 19h34
  5. JS : controler de selection de choix unique sur valeur type liste
    Par LutorCorp dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/09/2007, 15h38

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