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 :

Trouver la dernière colonne contenant en partie un critère [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Par défaut Trouver la dernière colonne contenant en partie un critère
    Bonjour,

    Je cherche à trouver la dernière colonne contenant en partie un texte définit dans une cellule:

    J'ai en faite en D1: "Moy 2015"
    La partie numérique est ammenée à changer (par exemple peut devenir Moy 2016)
    j'ai ensuite de E1 à AA1 par exemple des date au format dd/mm/yyyy
    je cherche au final à calculer une moyenne sur ces dates et pour ce faire, j'ai besoin de connaitre la colonne de la dernière date de l'année pour connaitre mon range cible:
    en gros si en D1 j'ai Moy 2015 et que j'ai mon année 2015 qui se trouve de E1 à P1 je cherche à trouver comme dernière colonne P1:

    Pour ce faire j'ai pensé au find:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set C = ThisWorkbook.Worksheets(Sh).Range("A1:AA1").Find(CRITERE, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)
    hélas ceci ne fonctionne pas car il me trouve non pas P1 mais D1
    aussi, si je remplace la majuscule de SearchDirection par searchdirection, excel ne me le transforme pas en SearchDirection comme si il ne reconnaissait pas cet argument

    Savez-vous pourquoi ma méthode ne trouve pas la bonne occurrence?
    Merci d'avance pour votre aide

    code complet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test_cal_moy(Sh As String)
    Dim CRITERE As String
    With ThisWorkbook.Worksheets(Sh)
    For i = 4 To 6
        CRITERE = Right(.Cells(1, i), 4)
        Set C = ThisWorkbook.Worksheets(Sh).Range("A1:AA1").Find(CRITERE, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)
        If Not C Is Nothing Then DC = C.Column
    Next i
    End With
    End Sub
    Sub testons()
    test_cal_moy ("Clinique Boites")
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Une lecture attentive de la rubrique Range.FindNext, méthode de ton aide VBA et de l'exemple dont est assortie cette rubrique apporte ta solution.

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour !

    bbox, p't'être bien parce que tu demandes en colonnes au lieu d'en lignes …

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  4. #4
    Membre chevronné
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Par défaut
    Bonjour,

    Et merci pour vos réponse:

    la réponse était encore plus conne que ca .... et en plus j'avais omis de vous le dire donc vous n'aurez pas pu trouver :
    Le date sont dans les cellule en dd/mm/yyyy mais afficher au format mmm/yy

    donc il ne fallait pas chercher dans xlvalue mais xlformulas
    mais j'étais parti sur le faite que excel ne reconnaissait pas mon searchdirection....

    merci quand même pour vos réponse.

    Une bonne journée à vous tous

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/04/2014, 06h45
  2. [XL-2007] Trouver la dernière colonne occupée parmis plusieurs lignes sélectionnées
    Par Rémy A. dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/07/2013, 12h13
  3. [XL-2007] Trouver la dernière colonne utile
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/11/2011, 11h14
  4. comment trouver la dernière colonne vide ?
    Par Kankrela dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 11/09/2008, 10h48
  5. Trouver la dernière colonne saisie
    Par MAMANHOU dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 31/10/2007, 14h46

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