Automatisation ligne sur plusieurs feuilles de calcul

bonjour à toutes et tous

Je dois utiliser un fichier pour la gestion de rdv.

J'ai plusieurs onglet, le premier est l'onglet general reprenant l'ensemble des infos et ensuite j'ai un onglet par jour.

Je souhaiterais automatiser le transfert des informations.

Pour faire simple, je souhaite que dès que je remplis sur l'onglet general, ma colonne date de rdv, cela envoi directement la ligne sur l'onglet du jour decidé.

Cela est il envisageable?

Merci d'avance

bien à vous

Bonjour Seblan57 ;

Voici un code VBA à tester (pense à faire une copie avant et à renommer tes onglets ou les changer dans le code de la macro)
(La macro se base actuellement sur la colonne A)

Sub TransférerRdvVersJour()
    ' Auteur : https://www.linkedin.com/in/spilerstheo/

    Dim wsGeneral As Worksheet
    Dim wsJour As Worksheet
    Dim DernièreLigne As Long

    ' Définir l'onglet général et l'onglet jour ici (ajustez les noms si nécessaire)
    Set wsGeneral = ThisWorkbook.Sheets("general")
    Set wsJour = ThisWorkbook.Sheets("jour_désiré")

    ' Trouver la dernière ligne avec des données dans l'onglet général
    DernièreLigne = wsGeneral.Cells(wsGeneral.Rows.Count, "A").End(xlUp).Row

    ' Copier la ligne depuis l'onglet général vers l'onglet jour
    wsGeneral.Rows(DernièreLigne).Copy wsJour.Rows(wsJour.Cells(wsJour.Rows.Count, "A").End(xlUp).Row + 1)

    ' Effacer la ligne copiée de l'onglet général (facultatif, à supprimer si vous souhaitez conserver les données dans l'onglet général)
    wsGeneral.Rows(DernièreLigne).ClearContents

    ' Réinitialiser la sélection
    wsGeneral.Cells(1, 1).Select
End Sub

Un autre code à tester :

' Auteur : https://www.linkedin.com/in/spilerstheo/

Sub TransfererRDV()
    Dim wsGeneral As Worksheet, wsJour As Worksheet
    Dim derniereLigne As Integer, i As Integer
    Dim dateRDV As Date

    Set wsGeneral = ThisWorkbook.Sheets("General")
    derniereLigne = wsGeneral.Cells(wsGeneral.Rows.Count, "A").End(xlUp).Row

    For i = 2 To derniereLigne
        If IsDate(wsGeneral.Cells(i, "X")) Then 'Remplacer "X" par le numéro de la colonne de la date
            dateRDV = wsGeneral.Cells(i, "X").Value
            Set wsJour = ThisWorkbook.Sheets(Format(dateRDV, "dd-mm-yyyy"))

            wsGeneral.Rows(i).Copy Destination:=wsJour.Rows(wsJour.Cells(wsJour.Rows.Count, "A").End(xlUp).Row + 1)
        End If
    Next i
End Sub

Cordialement,
Parrish

merci

bon va fallori que je vois comment on utilise les script alors :)

Au cas ou :
https://www.excel-pratique.com/fr/vba

Pour utiliser la macro VBA dans Excel, suivez ces étapes :

  1. Ouvrir l'Éditeur VBA :
    • Appuyez sur Alt + F11 pour ouvrir l'Éditeur VBA.
  2. Insérer un nouveau module :
    • Dans l'Éditeur VBA, allez dans le menu Insertion et choisissez Module. Cela ajoutera un nouveau module à votre projet VBA.
  3. Copier et coller la macro :
    • Copiez le code que je vous ai fourni précédemment.
    • Collez le code dans la fenêtre du module que vous venez de créer.
  4. Enregistrer :
    • Enregistrez votre classeur avec l'extension .xlsm pour activer les macros.
  5. Utiliser la macro :
    • Pour exécuter la macro, vous pouvez revenir à Excel, appuyer sur Alt + F8, sélectionner Une macro dans la liste, puis cliquer sur Exécuter.

Merci je voas tenter cela👍

bon j ai qd meme d mal mais avec de l'habitude je vais y arriver :)

Rechercher des sujets similaires à "automatisation ligne feuilles calcul"