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 :

[Excel] Selection multiple avec critères


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 15
    Points
    15
    Par défaut [Excel] Selection multiple avec critères
    Bonjour à tous,

    Je navigue d'habitude sur le forum Access, mais cette fois ci je viens vous voir .
    Je sais programmer en VB mais je ne suis pas familier des procédures excel. Afin de faire des statistiques et un graphique je voudrais faire une sélection multiple de ligne ayant un point commun, toutes les cellules qui commencent par Max et la case adjacente à droite, j'ai déjà ecrit ça si qqu'un pouvait m'aider à le finir svp. Tout ça en VB6.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub masub()
    Dim plage As Range
    Dim valeurs As Range
     
    Dim cell As Object
    Set plage = Worksheets("log_AF").Range("B4:B252")
      For Each cell In plage
      If cell Like "Max*" Then
      cell.Select
      End If
      Next cell
    End Sub
    Ca marche pas déjà

    Merci d'avance à ceux qui répondront

    Bonne journée

  2. #2
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Dis ce qui ne marche pas;
    Là, je vois que tu ne selectionneras jamais plus d'une cellule, c'est peut être ça ton problème?

    Regarde vers Application.Union pour en selectionner plusieurs

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Oui c'est bien ca je veux sélectionner toutes les cellules qui commencent par max (d'où le "multiple" ).
    Je vais chercher dans Union, dois je utiliser les range ?

  4. #4
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    oui

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    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
     
    Sub masub()
    Dim plage As Range
    Dim mescells As Range
     
    Dim cellule As Object
    Set plage = Worksheets("log_AF").Range("B4:B252")
    Set mescells = Worksheets("log_AF").Range("B4")
      For Each cellule In plage
      If cellule Like "Max*" Then
      mescells = ActiveWindow.RangeSelection(Union(mescells, cellule))
      End If
      Next cellule
      mescells.select
    End Sub
    Bon ca marche tjs pas mais je pense que dans l'esprit y'a du progrès

  6. #6
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Plus comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub masub() 
    Dim plage As Range 
    Dim mescells As Range 
     
    Dim cellule As Range 
    Set plage = Worksheets("log_AF").Range("B4:B252") 
    Set mescells = Worksheets("log_AF").Range("B4") 
      For Each cellule In plage.Cells 
      If VBA.Left(cellule.Value,3) = "Max*" Then 
      Set mescells = Application.Union(mescells, cellule) 
      End If 
      Next
      mescells.select 
    End Sub

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Le test sur max ne marche plus avec cette methode. Alors qu'il fonctionnait avec like. Donc j'ai rechangé ton code, pardon Bidou
    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
    Sub masub2()
    Dim plage As Range
    Dim mescells As Range
    Dim mescells2 As Range
     
    Dim cellule As Object
    Set plage = Worksheets("log_AF").Range("B4:B252")
    Set mescells = Worksheets("log_AF").Range("B4")
    Set mescells2 = Worksheets("log_AF").Range("C4")
     
      For Each cellule In plage
      If cellule Like "Max*" Then
      Set mescells = Application.Union(mescells, cellule)
      'ici je decale pour selectionner la cellule adjacente 
      Set mescells2 = Application.Union(mescells2, cellule.Offset(0, 2))
      End If
      Next cellule
      Set mescells = Application.Union(mescells, mescells2)
      mescells.Select
    End Sub
    La ca marche impec =)
    Merci de votre aide Bonne journée à tous !

  8. #8
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Pour info, si le code de bidou ne marchait pas, c'est surement à cause d'une faute de frappe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If VBA.Left(cellule.Value,3) = "Max*" Then
    Il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If VBA.Left(cellule.Value,3) = "Max" Then

  9. #9
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    bloods and guts
    désolé (et merci Tan)

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

Discussions similaires

  1. select multiple avec mozilla
    Par guigo dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 21/01/2009, 08h13
  2. Données Excel vers Word avec critères précis
    Par Z20500 dans le forum Excel
    Réponses: 4
    Dernier message: 18/09/2007, 18h38
  3. selection multiple avec saisie
    Par Rambler dans le forum Struts 1
    Réponses: 2
    Dernier message: 13/09/2007, 08h41
  4. select multiple avec enctype="multipart/form-data
    Par Tail dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/01/2007, 11h59
  5. [VBA-excel] Selection multiple de ligne
    Par DVano dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/10/2006, 12h32

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