Recherche et copier cellule en dessous de celle contenant texte

Résolu
Acc79 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Acc79 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Tout d'abord, je débute en vba et suis un peu perdue... Je ne sais pas s'il est possible de créer une macro pour mon problème.

J'ai un fichier Excel pour évaluer des formations, qui contient 2 feuilles. La première sert de synthèse selon les formations et la deuxième me permet d'évaluer les formations (de façon aléatoire) selon des critères. Il y a une somme automatique pour les cellules de la ligne 4 de la Feuil2.

Pour éviter des copier/coller redondants, je souhaite créer une macros me permettant de :
- Si Formation 1 existe dans la Feuil2 ligne 3, alors copier la valeur de la cellule sous Formation 1 et la coller dans la cellule Feuil1!B3
- Si Formation 2 existe dans la Feuil2 ligne 3, alors copier la valeur de la cellule sous Formation 2 et la coller dans la cellule Feuil1!B4
- Si Formation 3 existe dans la Feuil2 ligne 3, alors copier la valeur de la cellule sous Formation 3 et la coller dans la cellule Feuil1!B5
- et ainsi de suite

Je vous mets deux images pour éclairer mon topo en espérant que cela vous aide.

Merci pour votre aide, bonne journée.


2 réponses

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour Acc79

    Essayer cette formule en B3 et la tirer vers le bas jusqu'à la ligne 8

    =SIERREUR(RECHERCHEH(A3;Feuil2!$A$3:$D$4;2;FAUX);"")
    0
    1. Acc79 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci beaucoup ! Cela fonctionne. Il ne me reste plus qu'à la comprendre ensuite... ;-)
      Merci
      0
  2. Stif
     
    Bonjour,

    En VBA quelques lignes qui répondent à votre demande :

    Option Explicit
    Sub résultat()

    Dim I As Variant, J As Variant
    Dim recherche As String
    Dim valeur As Integer

    Sheets(1).Activate
    Range("B3:B8").ClearContents
    Sheets(2).Activate

    For I = 2 To Cells(3, Cells.Columns.Count).End(xlToLeft).Column
    recherche = Cells(3, I).Value
    valeur = Cells(4, I).Value
    Sheets(1).Activate
    For J = 3 To Range("A" & Rows.Count).End(xlUp).Row
    If Cells(J, 1) = recherche Then
    Cells(J, 2) = valeur
    Exit For
    End If
    Next J
    Sheets(2).Activate
    Next I
    Sheets(1).Activate
    End Sub
    0
    1. Acc79 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci beaucoup Stif.
      Bonne journée à tous
      0