Rechercher plusieurs infos sur plusieurs feuilles pour créer note de frais

Bonjour,
j'ai deux onglet dans mon doc "récap" qui recense les présences aux répétitions et sortie du groupe.
je souhaite pour "Paul", sortir les info pour sa note de frais, donc:
- si sur la feuille "répétition" à chaque fois que Paul a "1" en ligne 4, reporter la date "B1" en colonne A de "note de frais"
- si sur la feuille "sortie" à chaque fois que Paul a "1" en ligne 5, reporter la date "B2" en colonne A et le lieu "B1" en colonne B de "note de frais"

espérant être assez clair dans ma demande, je vous remercie à l'avance de vous pencher sur mon cas.

salutations

Bonjour

Le plus simple est de passer par VBA

Avec ce code à placer dans un module et à associer à un bouton à placer là où vous voulez

Sub test()
'declaration variables
Dim c As Range
Dim dcol As Integer, i As Integer, dlig As Integer
Dim F As Worksheet
Dim j As Byte

With Sheets("note de frais")
    .Range("A4:A" & .Range("A" & Rows.Count).End(xlUp).Row + 1).ClearContents 'suppression des données en feuille notes de frais
End With

Set F = Sheets("Répetitions") 'definir F pour feuille repetition
Set c = F.Range("A:A").Find(Sheets("note de frais").Range("A1"), LookIn:=xlValues) 'chercher si nom en A1 de feuille note de frais existe dans feuille Repetition
dcol = F.Cells(1, Columns.Count).End(xlToLeft).Column 'derniere colonne en ligne 1 de feuille répetitions

For j = 1 To 2 'boucle sur 2 puisque deux feuilles concernees (repetitions et sorties)
    If Not c Is Nothing Then 'si variable C est no nulle
        For i = 1 To dcol 'boucle de colonne 1 à derniere colonne
            If F.Cells(c.Row, i) = 1 Then 'si valeur 1 trouvee dans le ligne de variable c
                With Sheets("note de frais")
                    dlig = .Range("A" & Rows.Count).End(xlUp).Row + 1 'derniere ligne en feuille note de frais
                    .Range("A" & dlig) = CDate(F.Cells(j, i)) 'ajout date en colonne A de note de frais
                End With
            End If
        Next i
        Set F = Sheets("Sortie") 'definir F pour feuille sortie
        Set c = F.Range("A:A").Find(Sheets("note de frais").Range("A1"), LookIn:=xlValues) 'chercher si nom en A1 de feuille note de frais existe dans feuille sortie
        dcol = F.Cells(2, Columns.Count).End(xlToLeft).Column 'derniere colonne en ligne 1 de feuille sortie
    End If
Next j 'incrementer j
End Sub

Enregistrez votre fichier au format XLSM pour accepter les macros

Faites un test

Si ok,

Crdlt

super que vous vous occupiez de mon problème. MERCIIIIII

mais, trop "stupide" pour comprendre ce que vous me proposez, pouvez vous me décomposer l'action en détail ?

merci encore

Hello,

Une proposition par formule mais pas très digeste, en soit c'est juste pour dynamiser en fonction du nom choisi sinon elle est pas si compliquée

@+

bonsoir

par formule native ;pour les amateurs /curieux ,,,,,,,,car pas facile

cordialement

28harge.xlsx (15.74 Ko)

Hello Tulipe,

Tu m'as littéralement achevé ...

@+

Hello Tulipe,

Tu m'as littéralement achevé ...

@+

le tout est d'arriver à créer une matrice unique et virtuelle (genre sripting dictionnary )

cordialement

re

....pour comprendre ce que vous me proposez, pouvez vous me décomposer l'action en détail ?

Je vous ai remis le code avec les explications. Si souci dites moi
Par contre j'aurais placé une liste de validation en A1 pour permettre le choix du noms à reprendre en feuille notes de frais. Cela implique d'avoir la même liste de noms dans les deux feuilles.


@Baroute78 :

BAROUTE78 a écrit :
Hello Tulipe,
Tu m'as littéralement achevé ..

C'est bien tulipe4 çà !.. il n'a pas changé quand il se met à ses formules !

Si terminé pensez à

Cordialement

Merci encore pour votre aide.

le résultat sur le doc joint est nickel.

j'ai essayé de l'adapter à mon document, mais pas facile.

pour préciser : mes deux feuilles sont identiques à l'exemple joint, pour les lignes 1 et 2 de "répétition" et les lignes 1, 2 et 3 de "sortie"

deux personnes sont concernées par la note de frais

une en ligne 30 et une en ligne 44

comment transposer la formule?

merci encore

17harge.xlsx (15.63 Ko)
Rechercher des sujets similaires à "rechercher infos feuilles creer note frais"