Macro Excel

Barnabetg Messages postés 5 Statut Membre -  
PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai réalisé un fichier Excel en mode formulaire avec des champs de saisie et des champs de sélection dans un liste. Je veux mettre une macro qui non seulement permet de vider les cellules des champs de saisie/sélection mais qui en plus va stocker sur une autre feuille et par ordre chronologique les données vidées. Merci de m'aider pour cette macro

1 réponse

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Une macro qu'il faudra adapter à vos besoins

    Dim myRange As Range

    Sub entrer1()
    '
    ' entrer1 Macro
    ' Macro enregistrée le 28/01/2013 par Philou10120
    '
    '
    Windows("non de votre fichier_.XLS").Activate
    Sheets("nom de la feuille").Select
    Application.Goto Reference:="ANCRE1" 'cellule de positionnement"
    Seets("nom de la feuille").Select
    ActiveSheet.Unprotect 'oter la protection
    Sheets("ENTRER").Select 'feuille sur la quelle il y a les cellule à copier dans la base
    Set myRange = Worksheets("entrer").Range("controle_entree") 'cellule servant à contrôler que les informations à entrer sont correctes
    If myRange = 1 Then
    ActiveSheet.Unprotect
    Range("ligne_entrée").Select 'sélectionne toute la ligne de cellules à copier
    Selection.Copy
    Application.Goto Reference:="ANCRE3" 'cellule d'ancrage se trouvant en haut de la base de données
    Selection.End(xlDown).Select ' descend à la dernière ligne de la base
    ActiveCell.Offset(1, 0).Activate 'descend à la ligne suivante
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False 'colle les données sur cette ligne
    Sheets("ENTRER").Select ' retourne sur la feuille entrer
    Range("efface_entrée").Select 'efface les données de la feuille entrer
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("ancre8").Select
    Range("ancre7").Select
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, _
    Scenarios:=True 'remet la protection sur la feuille
    End If
    Sheets("nom de la feuille ou il y a la base de données").Select
    Application.Goto Reference:="ANCRE1" 'cellule d'ancrage
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, _
    Scenarios:=True
    Sheets("ENTRER").Select
    Application.Goto Reference:="ANCRE7"
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, _
    Scenarios:=True
    End Sub

    pour le contrôle des entrées sur la feuille entrer je contrôle par formule chaque cellule d'information et le résultat doit être 1 pour vrai et j'additionne les cellules et le nombre trouvé doit correspondre au nombre de cellule contrôlé si c'est Ok la cellule de contrôle égale 1 donc vrai et la copie de la ligne est réalisable

    J'espère que cela vous aidra
    0