Reporter des données sur différentes feuilles

Bonjour,

Je me permets de solliciter votre aide car je ne suis pas très doué avec notre ami Excel.

J'aurais besoin que les données rajoutées au fur et à mesure sur la feuille "Liste dépenses courriers" se reportent dans les différentes feuilles du classeur en fonction du nom des personnes.

Je ne sais meme pas si cela est possible mais je vous remercie d'avance pour votre aide.

Bonne journée à vous tous.

32test.xlsx (11.85 Ko)

Bonjour,

suivant ton exemple

P.

Sub Transf()
' si les onglets ont les mêmes noms que le contenu des cellules en colonne A
'
Dim i As Integer
Dim Ws1 As Worksheet
Set Ws1 = Sheets("Liste dépenses courriers")
Ws1.Select
On Error Resume Next
For i = 2 To [A65000].End(xlUp).Row
  If Not Cells(i, 6) = "OK" Then
    Cible = Cells(i, 1)
    Set desti = Sheets(Cible).[A65000].End(xlUp)(2)
    Range(Cells(i, 1), Cells(i, 5)).Copy Destination:=desti
    Cells(i, 6) = "OK"
  End If
Next
End Sub

Bonjour Patrick et merci pour ton aide.

Cependant et comme je l'ai indiqué, je ne suis VRAIMENT pas doué avec Excel

Est-ce que tu pourrais m'indiquer comment ajouter ce que tu m'as envoyé à mon fichier ?

Merci pour ton temps et désolé pour mon peu de competences

Bonjour le fil, bonjour le forum,

En pièce jointe ton fichier modifié avec basiquement le même code que celui de Patrick (qui m'a grillé sur ce coup !)...

Le bouton envoie les données mais, pour ne pas les renvoyer plusieurs fois, j'ai rajouté la colonne Envoyé dans laquelle X apparaît quand la ligne a déjà été envoyée.

Si l'onglet correspondant à une nom n'existe pas, la macro le crée automatiquement...

Le code commenté :

Private Sub CommandButton1_Click()
Dim LD As Worksheet 'déclare la variable LD (onglet Liste dépenses courriers)
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Byte 'déclare la variable J (incrément)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

ActiveCell.Select 'enleve le focus au bouton
Set LD = Sheets("Liste dépenses courriers") 'définit l'onglet LD
TV = LD.Range("A1").CurrentRegion 'définit le tableau de valeurs TV
For I = 2 To UBound(TV, 1) 'boucles sur toutes les lignes du tableau des valeurs TV
    If Not UCase(TV(I, 6)) = "X" Then 'condition 1 : si la donnée (convertie en majuscule) ligne I colonne 6 de TV n'est pas égale à "X"
        On Error Resume Next 'gestion des erreurs, en cas d'erreur passe à la ligne suivante
        Set O = Sheets(TV(I, 1)) 'définit l'onglet O (génère une erreur si l'onglet n'existe pas)
        If Err <> 0 Then 'condition 2 : si une erreur a été générée
            Sheets.Add After:=Sheets(Sheets.Count) 'ajoute un onglet à la fin
            Set O = ActiveWorkbook 'définit l'onglet O
            O.Name = TV(I, 1) 'nome l'onglet avec la valeur de la donnée ligne I colonne 1
            For J = 1 To 5 'boucle sur 5 colonnes
                O.Cells(1, J).Value = "Nom" 'place le texte
                O.Cells(1, J).Value = "Date" 'place le texte
                O.Cells(1, J).Value = "Tarif" 'place le texte
                O.Cells(1, J).Value = "Destinataire" 'place le texte
                O.Cells(1, J).Value = "Divers" 'place le texte
            Next J 'prochaine colonne de la boucle
        End If 'fin de la condition 2
        Set DEST = O.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST
        For J = 1 To 5 'boucle sur 5 colonnes
            DEST.Offset(0, J - 1).Value = TV(I, J) 'récupère les données de la ligne du tableau des valeurs TV
        Next J 'prochaine colonne de la boucle
        LD.Cells(I, 6).Value = "X" 'place "X" dans la ligne I colonne F de l'onglet LD
    End If 'fin de la condition 1
Next I 'prochaine ligne de la boucle
End Sub

Le fichier :

44qpl-v01.xlsm (25.20 Ko)

Thautheme je n'aurais qu'un seul mot : MERCI

Encore merci Patrick également.

Votre aide m'a été très précieuse et va grandement nous faciliter la vie ici.

Une très bonne journée à vous tous.

re,

Pas de quoi ....

et bravo à Thautheme pour le côté pédagogique de son code !

P.

Rechercher des sujets similaires à "reporter donnees differentes feuilles"