Saisie de plusieurs champs dans 2 onglets différents

Bonsoir à tous,

J'ai repris une macro de sauvegarde d'un fichier que je connaissais afin de copier les saisies faites dans un onglet "Saisie Anomalie" dans 2 autres onglets : un onglet Suivi Global et un autre onglet qui dépend d'un des champs saisis.

Tout fonctionne sauf que pour l'onglet global, la copie se fait 2 fois... Une fois au début du tableau et une fois à la fin. Je n'arrive pas à trouver pourquoi.

Serait-il possible de regarder ce qui cloche dans la macro?

Merci de vos aides.

17base-sav-v3.xlsm (212.37 Ko)

Bonjour

A tester si c'est ce que tu veux

Sub Sauvegarde()
'
' Permet de sauvegarder l'anomalie dans l'onglet du process en question et dans l'onglet suivi global
'
Dim WsS As Worksheet, WsC As Worksheet, Feuille As Worksheet
Dim LigneAjout As Long

  Application.ScreenUpdating = False
  '
  Set WsS = Worksheets("Saisie Anomalie")
  Set WsC = Worksheets("Suivi Global")

  If WsS.Range("E5").Value Like "*Autre*" And WsS.Range("G5").Value = "" Then
    MsgBox "Vous devez renseigner le pavé ""Commentaires""", vbCritical
    Exit Sub
  End If

  Set Feuille = Sheets(WsS.Cells(11, 2).Value)   'permet de connaître sur quel onglet Suivi Process on va copier

  WsS.Range("B5:G5").Copy
  With Feuille
    .Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                                   SkipBlanks:=False, Transpose:=False
    .Range("AE2").FormulaR1C1 = "=WEEKNUM(RC[-30],2)"
    .Range("AF2").FormulaR1C1 = "=MONTH(RC[-31])"
    .Rows(2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    .Rows(2).Interior.Pattern = xlNone
    .Range("A3").NumberFormat = "mm/dd/yyyy"
  End With

  WsS.Range("B5:G5").Copy
  With WsC
    .Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                                   SkipBlanks:=False, Transpose:=False
    .Rows(2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    .Rows(2).Interior.Pattern = xlNone
    .Range("A3").NumberFormat = "mm/dd/yyyy"
  End With
  WsS.Range("B5:G5").ClearContents
End Sub

Merci! J'ai fait qq modifs car cela ne fonctionnait plus en fonction du nom du 2ème onglet.

Tout est ok.

Encore merci!

Rechercher des sujets similaires à "saisie champs onglets differents"