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 :

MAJ TCD + Recherche numéro d'une ligne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut MAJ TCD + Recherche numéro d'une ligne
    Bonjour à tous,

    Je poste ce message suite à deux problèmes rencontrés sur mon travail en VBA (Excel). Notez bien que je ne suis qu'un débutant audidacte (lol) qui le pratique depuis 3 semaines (re-lol) en s'aidant du générateur de macros Excel (là c'est le pompon) ;o)

    Voila:

    1°/problème 1

    J' ai crée un UserForm vba dans lequelle je sélectionne un champs de liste de mon TCD. Ensuite, je modifie ce champs en utilisant une valeur précédemment récupérée dans un espace de formulaire (montitredechamps.value)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ActiveSheet.PivotTables("monTCDperso").PivotFields("PERIOD").CurrentPage = _
            montitredechamps.Value

    L'éxécution de ce code fonctionne: la valeur est modififée. Mais après rafraichissement, il s'avère que la valeur à remplacé l'en-tête précédente et en gardant les mêmes valeurs!

    2°/ Problème 2

    Dans mon cas, je voudrais rechercher un nom de code dans une base de donnée Excel.
    Si cette valeur est existante, alors je conserve le numéro de ligne correspondant (variable "C"), pour le réutiliser quand je voudrai ajouter des valeurs sur cette ligne.
    Si cette valeur est inexistante, alors j' attribue à ma variable "C" une valeur fixe: 37. Ce numéro de ligne stocké est le numéro fixe qui correspond à la nouvelle ligne vierge qui sera crée par la suite.

    Seulement, l'exécution de cette tâche me pose un problème : j'arrive bien à rechercher ma valeur quand elle est existante et à obtenir le numéro de ligne, mais cela me renvoie une erreur quand la fonction .Find ne trouve rien.("Nothing")

    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
    Dim C
     
    'Je recherche dans l'espace C4:C5000 la valeur:
     
    With Worksheets("DPT").Range("C4:C5000")
        Set C = .Find("mon nom de recherche", LookIn:=xlValues)
        If Not C Is Nothing Then Range("D20") = C
     
    C.Select
    End With
     
    'Je garde en mémoire le résultat de ma sélection
    Range(Trim(Str(ActiveCell.Row)) & ":" & Trim(Str(ActiveCell.Row))).Select
    RefLine = ActiveCell.Row 'Cette variable contient le n° de ligne correspondant à ma recherche!!!
     
     
    Range("D20") = RefLine
    Pourriez vous m'aider S.V.P??? Merci d'avance...

  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
    Par défaut
    Pour find : Et si tu mettais ton select dans le if, ça ne fonctionnerait pas mieux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Not C Is Nothing Then
         Range("D20") = C
         C.Select
    End if

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut rapide...
    Merci pour cette réponse très rapide, ouskel'n'or!

    Je teste ça sur mon fichier dès lundi, quand j'aurai accès à mon fichier...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut Super!
    Super, ça marche correctement à présent! merci beaucoup...

    J'ai pas mal avancé sur mon boulot, mais je suis tombé sur un léger pb:

    But de mon code: au chargement du userform, le code recherche dansla BDD la ligne que j'ai choisi. Ensuite, il cherche dans là BDD les entrée liées à cette ligne pour ensuite les pré-charger dans le formulaire (de cette manière, je peux modifier une partie de ma ligne tout en connaissant les autres valeurs).

    Donc je résume:
    1°/ je cherche ma ligne de la BDD 'OK :-)
    2°/ Je prends les valeurs déjà existantes et les
    affiche dans les entrées du formulaire. Libre
    à l'utilisateur de les garder, les delete, ou de
    les modifier. 'PB :-(


    J'ai pourtant utilisé les formules suivantes:


    nomdemonchamps.Value [=vlookup[...] ....

    nom de mon champs.Value = vlookup

    Dim variable as String
    = vlookup
    champs = variable


    Quelqu'un aurait une idée svp?

  5. #5
    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
    Par défaut
    Pourrais-tu mettre ton code pour de vrai ? Là, si tu as une erreur, on ne peut pas la voir

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut
    Ok, je le poste dans la soirée....

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

Discussions similaires

  1. [XL-2007] Récupérer le numéro d'une ligne selectionnée
    Par markfish55 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/01/2012, 19h09
  2. Réponses: 9
    Dernier message: 08/06/2010, 01h09
  3. Réponses: 1
    Dernier message: 16/05/2010, 20h30
  4. Recherche dichotomique d'une ligne dans un fichier
    Par yarf dans le forum Général Java
    Réponses: 5
    Dernier message: 31/03/2008, 15h37
  5. [Heureux-oli] Rechercher et remplacer une ligne
    Par Kiefer_Sutherland dans le forum Word
    Réponses: 3
    Dernier message: 07/09/2007, 22h25

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