Ajouter ligne d'une liste de choix dans une autre feuille - Page 2

Résolu
Précédent
  • 1
  • 2
  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    sera fait demain matin

    A+
    0
  2. Nai Messages postés 718 Date d'inscription   Statut Membre Dernière intervention   57
     
    Merci infiniment !
    Pour le travail, l'efficacité, la rapidité et la gentillesse :)

    Merci !
    0
  3. Nai Messages postés 718 Date d'inscription   Statut Membre Dernière intervention   57
     
    Heu, petit problème, peut-être devrais-je ouvrir un nouveau sujet, mais bon...

    De nombreuses cellules dépendent d'autres cellules, toujours selon le fichier que nous nous échangeons.
    Exemple : Feuille Accueil, C41 à C45 et E41 à E45 sont entrées par l'utilisateur.
    Mais, feuille Jeux, C41 et E41 de la feuille Jeux, sont respectivement D37 et F37 de la feuille Accueil.
    Lorsque je modifie D37 ou F37 de la feuille Accueil, C41 et E41 de la feuille Jeux ne se mettent pas à jour automatiquement... Ce problème est le même sur toutes les périodes et tous les ateliers, gênant donc.
    La formule doit-elle être différente de =Accueil!C41 ?

    Aussi, il y a un soucis avec les validations de données pour les dates.
    En effet, C39:J39 sont des cellules formatées en dates. La validation de données veut que ces dates soient comprises entre D37 et F37, mais il accepte toutes les dates, sauf C39 de la feuille Jeux qui semble comprendre qu'il doit être compris entre D37 et F37 de la feuille Accueil...

    Merci encore pour les derniers détails :D

    EDIT : Le calcul refonctionne.
    Fichier -> Options -> Formules. Dans la zone "Mode de calcul", puis "Calcul du classeur", cliquer sur "Automatique". Excel 2010


    EDIT 2 : Les validations de données refonctionnent.
    Dans mon cas, ne pas cliquer sur "Ignorer si vide". Excel 2010


    Bien à vous,
    Naï
    ps: je surveille tous mes sujets non résolus, si solution vous avez, je la lirais à coup sûr :)
    0
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Et que voulez vous en fin de compte, car je ne vois pas trop en vous lisant ?????

    Chez moi le calcul est par defaut en Auto et tout se met a jour sans probleme !!!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    J'ai un fichier avec detection d'insriptions multiples par atelier au cas ou il y aurait inscription directement sur les onglets ateliers

    A vous de voir
    0
  7. Nai Messages postés 718 Date d'inscription   Statut Membre Dernière intervention   57
     
    J'y avais pensé, mais je me suis dis que le plus simple serait d'interdire la saisie dans les onglets des ateliers, mais je n'ai pas réussi.
    Ça m'intéresse, en effet :)
    Ça voudrait dire qu'il ne serait pas possible d'ajouter un enfant directement dans les onglets des ateliers ? Uniquement depuis les classes ?
    0
  8. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Comme vous n'avez pas verrouille toutes les cellules des onglets ateliers, j'ai donc pense a traiter les doublons. Si vous verrouillez toutes les cellules des ateliers (protection feuille avec mot de passe et protection du code VBA aussi puisque le mot de passe sera ecrit dedans pour les ecritures dans les onglets), plus besoin de traiter les doublons puisque pas possible d'ecrire manuellement et presence dans un atelier testee par programme a chaque saisie dans onglets classes

    A+
    0
  9. Nai Messages postés 718 Date d'inscription   Statut Membre Dernière intervention   57
     
    Tout simplement, protéger les cellules :D
    En effet, c'est bon.

    J'ai présenté et donné le fichier à ma collègue, et, elle a fait quelque chose qu'elle n'aurait pas du faire :
    Dans les feuilles des classes, elle ajoute un groupe à l'atelier "Jeux". Pour tester. Ensuite, elle a voulu retirer ces enfants. Elle a sélectionné le groupe d'enfant, et, au lieu de faire Clic droit, case blanche, elle a appuyé sur le bouton Suppr.
    Du coup, dans la classe, les enfants n'ont plus leur atelier, mais dans l'atelier Jeux ils s'y trouvent encore.

    Comment pourrait-on interdit ce type de suppression ?
    Ou alors, faire comme si la case blanche était égale à la touche Suppr ?
    0
  10. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Je regarde la chose. Je vais mettre "Suppr." a la place de la case blanche pour effacement. Voir pour invalider la touche Suppr. ou autre idee qui me viendra

    A+
    0
  11. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    pour empecher toutes modifications manuelles des ateliers sur les onglets classes,dans le VBA de chaque Onglet classe, remplacez

    'Changement nom onglet
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
    ActiveSheet.Name = Target
    End If
    End Sub

    'par:

    'Changement nom onglet et invalide changement Ateliers en manuels
    Private Sub Worksheet_Change(ByVal Target As Range)
    derlig = Cells(8, 1).End(xlDown).Row
    If Not Intersect(Target, Range("A1")) Is Nothing Then
    ActiveSheet.Name = Target
    ElseIf Not Application.Intersect(Target, Range("D8:M" & derlig)) Is Nothing Then
    Application.EnableEvents = False
    Application.Undo
    Application.EnableEvents = True
    End If
    End Sub

    A+
    0
  12. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    suite:

    Dans le module PopUpMenu_L:

    ajoutez les lignes en gras

    Function CreateSubMenu_L() As CommandBar
    ''Name for popup menu
    Const lcon_PuName = "PopUpLundi"

    ''Create some objects
    Dim cb As CommandBar
    Dim cbc As CommandBarControl
    Dim cel As Range
    Dim Plage As Range
    Dim derligne As Long
    Dim c, x
    Dim derlig

    ''Ensure our popup menu does not exist
    DeleteCommandBar_L lcon_PuName

    ''Add our popup menu to the CommandBars collection
    Set cb = CommandBars.Add(Name:=lcon_PuName, Position:=msoBarPopup, MenuBar:=False, Temporary:=False)
    '' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    'Plage de nom colonne A
    With Worksheets("Accueil")
    If Jour = "L" Then
    Set Plage = .Range("B7:B21")
    ElseIf Jour = "J" Then
    Set Plage = .Range("B22:B36")
    Else
    End If
    End With
    Set cbc = cb.Controls.Add
    With cbc
    .Caption = "Suppr."
    .OnAction = "Recup_Nom_Atelier_L"
    .Tag = .Caption
    End With
    For Each cel In Plage
    'Add some demo controls
    Set cbc = cb.Controls.Add
    With cbc
    .Caption = cel
    .OnAction = "Recup_Nom_Atelier_L"
    .Tag = .Caption
    End With
    Next cel
    Set cbc = cb.Controls.Add
    With cbc
    .Caption = "Suppr."
    .OnAction = "Recup_Nom_Atelier_L"
    .Tag = .Caption
    End With

    '' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Set CreateSubMenu_L = cb

    End Function

    et

    Sub Recup_Nom_Atelier_L()
    'get the tag property of the clicked control
    Atelier_Choisi = Application.CommandBars.ActionControl.Tag
    If Atelier_Choisi = "Suppr." Then
    Atelier_Choisi = ""
    End If

    End Sub


    Dans 'Changement nom onglet et invalide changement Ateliers en manuels
    Private Sub Worksheet_Change(ByVal Target As Range) nouvelle version,

    a la suite d'erreur sur cellule vide, remplacez la ligne:

    ElseIf Not Application.Intersect(Target, Range("D8:M" & derlig)) Is Nothing Then

    par

    ElseIf Not Application.Intersect(Target, Range("D8:M" & derlig)) Is Nothing And Target <> "" Then
    0
  13. Nai Messages postés 718 Date d'inscription   Statut Membre Dernière intervention   57
     
    Ca ne semble plus fonctionner...
    J'ai une "incompatibilité de type" avec la ligne suivante :
        ElseIf Not Application.Intersect(Target, Range("D8:M" & derlig)) Is Nothing And Target <> "" Then

    Une idée ? :)
    0
  14. Nai Messages postés 718 Date d'inscription   Statut Membre Dernière intervention   57
     
    Ça fonctionne :D
    Est-ce qu'on peut indiquer à l'utilisateur que pour supprimer des enfants d'un atelier il doit utiliser le bouton Supp. et non la touche Suppr, au moment où il appuie sur Suppr ?
    0
  15. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    je regarde pour faire

    A+
    0
  16. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    code pour chaque onglet classe

    'Changement nom onglet et invalide changement manuels
    Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo sortie
    derlig = Cells(8, 1).End(xlDown).Row
    If Not Intersect(Target, Range("A1")) Is Nothing Then
    ActiveSheet.Name = Target
    ElseIf Not Application.Intersect(Target, Range("D8:M" & derlig)) Is Nothing Then
    Application.EnableEvents = False
    Application.Undo
    Application.EnableEvents = True
    retval = MsgBox("[ SUPPRESSION ATELIER ]" & vbNewLine & _
    "Utilisez la liste des ateliers et click sur Suppr." & vbNewLine & _
    "en début ou fin de liste", , "¤ ALERTE ¤")
    End If
    sortie:
    End Sub
    0
Précédent
  • 1
  • 2