XL 2013 Transfère les informations de la feuille sur une autre

Charef

XLDnaute Nouveau
Bonjour, pour aider un Docteur je cherche un VBA lorsque je clic sûr (ENREGISTRER) il transfère les informations de la feuille "INTER" sur le dernier ligne du tableau de la feuille "REGISTRE D’ACTIVITÉ" et en même temps il crée une ligne dans la feuille "STAT "pour calculer les nombres de "X" sélectionner sur "Nature de la visite" et sur " Ex-complémentaires "

et lorsque je clic sûr (NOUVEAU) il vide toutes les informations de la feuille "INTER" et désélectionné les éléments sectionnable (VE,VP......)
 

Pièces jointes

  • VER1.xlsm
    82.8 KB · Affichages: 17
Solution
Bonjour Charef, fanfan38,

Dans la feuille REGISTRE D'ACTIVITÉ on utilise la ligne 3 (à masquer) avec des formules de liaison.

Les macros des boutons ENREGISTRER et NOUVEAU :
VB:
Sub Enregistrer()
Dim r As Range
With Sheets("REGISTRE D'ACTIVITÉ")
    Set r = .Rows(3)
    If r.Cells(1) = 0 Or Not IsDate(r.Cells(1)) Then MsgBox "Vous devez entrer au moins la date !", 48: Exit Sub
    With .Columns(1).Find("", , xlValues).Resize(, 31) '1ère ligne sans date
        .Value = r.Value 'copie les valeurs
        .Replace 0, "", xlWhole 'supprime les zéros
        '---couleurs et bordures---
        .Interior.Color = 14277081 'gris
        .Cells(1).Interior.Color = 14083324 'brun clair
        .Borders.Weight = xlThin
        '---feuille...

job75

XLDnaute Barbatruc
Bonjour Charef, fanfan38,

Dans la feuille REGISTRE D'ACTIVITÉ on utilise la ligne 3 (à masquer) avec des formules de liaison.

Les macros des boutons ENREGISTRER et NOUVEAU :
VB:
Sub Enregistrer()
Dim r As Range
With Sheets("REGISTRE D'ACTIVITÉ")
    Set r = .Rows(3)
    If r.Cells(1) = 0 Or Not IsDate(r.Cells(1)) Then MsgBox "Vous devez entrer au moins la date !", 48: Exit Sub
    With .Columns(1).Find("", , xlValues).Resize(, 31) '1ère ligne sans date
        .Value = r.Value 'copie les valeurs
        .Replace 0, "", xlWhole 'supprime les zéros
        '---couleurs et bordures---
        .Interior.Color = 14277081 'gris
        .Cells(1).Interior.Color = 14083324 'brun clair
        .Borders.Weight = xlThin
        '---feuille STAT---
        Set r = Sheets("STAT").Columns(1).Find("S/TOTAL")
        r.EntireRow.Insert 'insère une ligne
        r(0) = .Cells(1) 'date
        r(0, 2).Resize(, 5) = .Cells(7).Resize(, 5).Value
        r(0, 7).Resize(, 15) = .Cells(13).Resize(, 15).Value
        r(0).Resize(, 21).Borders.Weight = xlThin 'bordures
    End With
    .Activate 'facultatif
End With
End Sub

Sub Nouveau()
Sheets("INTER").[B22:C38,D9,F9,F20,F23,F26,D28,F28].ClearContents 'RAZ
End Sub
La feuille STAT a été remaniée avec de nouvelles formules.

A+
 

Pièces jointes

  • VER1(1).xlsm
    52.3 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 172
dernier inscrit
Aurelyan