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

Excel Discussion :

RechercheV n'est pas exprimée dans une boucle [XL-2003]


Sujet :

Excel

  1. #1
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut RechercheV n'est pas exprimée dans une boucle
    Bonjour,

    J'insère une formule Recherchev dans une cellule via du code où est implémentée une boucle.

    Attention c'est pas très simple :

    Dans mon cas cette formule n'est pas interprétée pour le texte à rechercher mais est interprétée pour les chiffres. (textes et chiffres sont dans une même matrice où j'effectue la recherche)
    Précision : la formule fonctionne en extrayant le texte dans la première ligne traitée mais pas dans les suivantes. (on est alors dans la boucle .FindNext...)

    voici le code (j'ai essayé avec les recherchev et vlookup avec l'adaptation
    .formula ou .formulalocal qui va bien et les ";" ou ",")




    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub MAJ_Nom_Site()
    Dim objcell As Range
    Dim ligne_modif, ligne_Sites, x As Integer
    Dim firstAddress As String
    Dim Ligne_recherche As String
    Application.ScreenUpdating = False
    Sheets("Bordereau de prix").Activate
    Columns("D:D").Select
    With Range("D:D")
    Set objcell = Selection.Find(what:="[ SITE", LookIn:=xlValues)
    Application.Calculation = xlCalculationManual
    ligne_Sites = 2
    If Not objcell Is Nothing Then
        'num = num + 1
        ligne_modif = objcell.Row
        firstAddress = objcell.Address
        Range("E" & ligne_modif).Activate
       ' .Formula = "=VLOOKUP(ExtractConstructeur(A2),CodeConstructeur,2,FALSE)"
        Sheets("Infos Sites").Range("B" & ligne_Sites) = Cells(ligne_modif, 4)
        Sheets("Infos Sites").Range("D" & ligne_Sites) = ligne_modif
        'Ligne_recherche = "=VLOOKUP(C" & ligne_modif & ",'Infos Sites'!A2:C23,2,false)"
        Cells(ligne_modif, 4).FormulaLocal = "=RECHERCHEV(C" & ligne_modif & ";'Infos Sites'!A2:C23;2;FAUX)"
        Cells(ligne_modif, 10).Formula = "=vlookup(C" & ligne_modif & ",'Infos Sites'!A2:C23,3,false)"
        'Range("C" & objcell.Row) = "T" & num
        Set objcell = .FindNext(objcell)
        While Not objcell Is Nothing And objcell.Address <> firstAddress
                ligne_Sites = ligne_Sites + 1
                ligne_modif = objcell.Row
                Sheets("Infos Sites").Range("B" & ligne_Sites) = Cells(ligne_modif, 4)
                Sheets("Infos Sites").Range("D" & ligne_Sites) = ligne_modif 'ligne debut
                Sheets("Infos Sites").Range("E" & ligne_Sites - 1) = ligne_modif - 1 'ligne fin
                Cells(ligne_modif, 4).FormulaLocal = "=RECHERCHEV(C" & ligne_modif & ";'Infos Sites'!A2:C23;2;FAUX)"
                Cells(ligne_modif, 10).Formula = "=vlookup(C" & ligne_modif & ",'Infos Sites'!A2:C23,3,false)"
                Set objcell = .FindNext(objcell)
        Wend
        x = Range("FIN_DE_TABLEAU_BORDEREAU").End(xlUp).Row
        Sheets("Infos Sites").Range("E" & ligne_Sites) = Range("A" & x).End(xlUp).Row
    End If
    End With
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Je me retrouve donc avec dans mes cellules cette formule là pas interprétée

    =RECHERCHEV(C21;'Infos Sites'!A2:C23;2;FAUX)

    Merci d'avance de votre aide

  2. #2
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour,

    j'ai essayé ces lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(ligne_modif, 4).FormulaLocal = "=RECHERCHEV(C" & ligne_modif & ";'Infos Sites'!A2:C23;2;FAUX)"
    Cells(ligne_modif, 10).Formula = "=vlookup(C" & ligne_modif & ",'Infos Sites'!A2:C23,3,false)"
    je n'ai pas eu le problème décrit, assure toi que les cellules devant recevoir les formules n'ai pas été formaté en texte.

  3. #3
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut
    Merci bien
    C'était effectivement le cas, par contre pas moyen de savoir dans quel format on se trouve en interrogeant le format de cellule via l'interface d'Excel.
    J'ai fait la modif en imposant un format nombre, et donc quelque chose à interpréter via le code mais pour Excel c'est toujours du format standard.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with selection
    .numberformat = "0"
    end with
    Quand j'aurais du temps faudra que je vois comment se débrouille Excel2007 là dessus.
    Si un expert Excel passe sur ce post merci de valider mon commentaire, voir de faire un retour chez nos amis de Microsoft car c'est le genre de truc bien galère.
    Encore merci et bonne journée.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/11/2014, 19h39
  2. Réponses: 1
    Dernier message: 21/07/2012, 10h51
  3. [Débutant] Pas variable dans une boucle for
    Par Pilote26 dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/11/2011, 14h40
  4. [RegEx] Remplacement d'une balise qui n'est pas imbriquée dans une autre
    Par w3ar3dus1 dans le forum Langage
    Réponses: 0
    Dernier message: 30/05/2011, 11h43
  5. Réponses: 3
    Dernier message: 23/05/2009, 13h07

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