Remplacer valeur si valeur identique dans deux colonnes.

calomonos -  
calomonos Messages postés 5 Statut Membre -
Bonjour,

Je vais essayer d'exposer mon problème:
J'ai une feuille avec un tableau et une autre feuille avec une extraction de donnée.
Je voudrais remplacer les valeur d'une colonne du tableau feuille1 si j'ai la même chose dans une autre colonne.
Exemple:
Sur mes deux feuilles j'ai une colonne avec le nom d'une monnaie et une colonne avec les cotes associées sur la même ligne.
Si sur ma feuille 2 (extraction) la cote d'une monnaie a changé je voudrais quelle change automatiquement sur ma feuille 1 en remplaçant l'ancienne.
Ceci en appuyant sur un command bouton sur une feuille 3.

Tout les éléments existent déjà il me faudrait juste un code vba au moment du click sur le bouton.

Rq: les monnaies ne sont pas forcément dans le même ordre sur feuille 1 et 2.

Pouvez vous m'aider a réaliser cela?

Merci par avance

6 réponses

  1. Fahora Messages postés 949 Statut Membre 68
     
    Bonjour ,

    Pourquoi absolument vouloir un code vba ? A priori, une recherchev peut suffire.

    Petite question mais qui a son importance, il y a des "monnaies" qui sont référencées plusieurs fois dans ta feuille 2 ?

    cdlt

    Nos seules limites sont celles que nous nous imposons nous-même.
    La politesse et un merci ne tuent pas. Il existe un bouton pour "Résolu" pour confirmer que     votre problème n'en est plus un. Fahora
    1
  2. calomonos Messages postés 5 Statut Membre
     
    Bonjour,

    Merci pour ta réponse.

    Un code vba car a chaque fois que j'introduit une nouvelle feuille 2 dans mon classeur je supprime d'abord l'ancienne (extraction précédente).
    J'avais déjà essayé sans et même si la feuille a le même nom il ne la retrouve pas une fois remplacée.

    Non les "monnaies" ne sont référencées qu'une seul fois.

    Cdt.
    0
    1. Fahora Messages postés 949 Statut Membre 68
       
      Désolé , du temps mis pour faire la macro

      Sub Monnaie()
      Dim nbligne

      Sheets("Extraction").Select
      Nblig = Cells.SpecialCells(xlCellTypeLastCell).Row

      Sheets("Monnaie").Select
      For i = 2 To Nblig
      Cells(i, 2).Formula = Application.VLookup(Sheets("Monnaie").Range("A" & i), Sheets("Extraction").Range("A1:B" & i), 2, False)
      Next i


      End Sub


      A insérer dans un bouton si tu le souhaites.
      Attention aux noms de tes onglets
      0
  3. calomonos Messages postés 5 Statut Membre
     
    Merci beaucoup.

    Cela fonctionne très bien par contre si les noms des monnaies ne sont pas dans le même ordre d'une feuille a l'autre cela ne fonctionne plus. Y a t'il un moyen de remédier à ça.
    Exemple:

    20f 20f cotation ok
    5f 5f cotation ok
    3f 2f #NA
    2f 3f #NA

    Merci.

    Cdt.
    0
    1. Fahora Messages postés 949 Statut Membre 68
       
      Effectivement , j'ai fait une erreur ...
      Cells(i, 2).Formula = Application.VLookup(Sheets("Monnaie").Range("A" & i), Sheets("Extraction").Range("A1:B" & i), 2, False)


      A remplacer par :

      Cells(i, 2).Formula = Application.VLookup(Sheets("Monnaie").Range("A" & i), Sheets("Extraction").Range("A1:B" & Nblig), 2, False)
      0
  4. calomonos Messages postés 5 Statut Membre
     
    Merci.

    Ce problème est bien résolu, il reste encore un dernier petit problème:

    Si j'ai plus de ligne (plus de monnaie) dans ma première feuille que dans mon extraction alors les monnaies situées dans les lignes plus bas, que celles que compte l'extraction, ne sont pas prise en compte.
    Ex:
    2f 2f ok
    5f 3f ok
    3f 5f ok
    2f 8f #NA
    8f "" non prise en compte

    Et si une monnaie dans les premières lignes de ma feuille 1 n'apparaît pas dans l'extraction alors j'ai #NA.

    Cdt
    0
    1. Fahora Messages postés 949 Statut Membre 68
       
      Dans ce cas,

      Sheets("Extraction").Select
      (à enlever)

      Nblig = Cells.SpecialCells(xlCellTypeLastCell).Row
      (à mettre après :

      Sheets("Monnaie").Select
      )

      Et ajoute

      On error Resume Next
      avant
      next i
      .
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. calomonos Messages postés 5 Statut Membre
     
    Merci.

    Toutes les valeurs sont prises en compte mais j'ai encore #NA pour les cotations des monnaies qui n'apparaissent pas dans l'extraction, au lieu de garder les cotations déjà existante en feuille1.

    Cdt
    0
  7. calomonos Messages postés 5 Statut Membre
     
    Bonjour,

    Est ce que quelqu'un aurait une solution pour mon problème?
    Une fois l'extraction intégrée dans ma feuille les valeurs qui n'apparaissent pas dans cette extraction sont replacées par #NA au lieu de garder les anciennes.

    Merci par avance

    Cdt.
    0