Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Enregistrer de données sur plusieurs feuilles d'un classeur

stammy

XLDnaute Nouveau
Bonjour, je reviens vers vous pour pouvoir m'aider sur ce travail sur lequel je suis bloqué depuis une semaine!
Je suis en train de créer une application de gestion d'un centre social
depuis le userform on introduit les informations sur les personnes et les ateliers dans lesquels ils participent, le hic c'est je voudrais que l'enregistrement des informations soit fait sur plusieurs feuilles sur la feuille FAMILLES et sur les feuilles des ateliers concernés en cochant les cases en bas du formulaire; exemple: Mme X participe à l'atelier A, C, F et G

Donc Mme X va figurer sur la feuille Familles, Feuille At_A, At_C, At_F et At_G.

Et voilà la fiche excel en pièces jointes pour mieux comprendre le problème

J'éspère que j'ai bien expliqué mon problème et merci pour votre aide d'avance
 

Pièces jointes

  • FAMILLES (Enregistré automatiquement) (Enregistré automatiquement).xlsm
    68.1 KB · Affichages: 87

Lone-wolf

XLDnaute Barbatruc
Bonjour JM, stammy

@ stammy: as-tu testé le classeur du post #7 ? Moi je n'ai eu aucun problème.

@JM : dans mon projet, j'ai modifier les lignes comme tu l'as dit et bizarrement les données trainent à l'enregistrement, en plus le titre du formulaire m'affiche un joli "UsfCommandes ne réponds pas" et obligé de fermé excel avec le gestionnaire.

J'ai aussi tester dans un classeur (quasiment vierge ) pour 10 feuilles en écrivant comme ceci

lig = sheets(i).UsedRange.Rows.count + 1

Mais est-ce aussi correct d'écrire ainsi?
 

stammy

XLDnaute Nouveau

Oui j'ai vu le classeur mais il y a une errure


Mince j'ai cru que j'ai envoyé la réponse ce matin!!
oui je l'ai testé et ça parait ce que je cherche sauf que pour la colonne des dates se rajoute automatiquement comme sur la photo ci-joint
 

Pièces jointes

  • capt.jpg
    32.8 KB · Affichages: 67

Lone-wolf

XLDnaute Barbatruc
Re

C'est bizarre, je viens d'inserer une ligne dans mon classeur exemple, tout est ok.

EDIT: je sais pourquoi ça inscrit la date en première ligne. Il faut que tu convertisse les tableaux en plages normales.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir à tous

LoupSolitaire
Pour ma part, j'éviterai la boucle et écrirai la chose ainsi
VB:
Sub b()
Dim derlig As Long
derlig = Feuil1.Range("b" & Rows.Count).End(xlUp).Row
    With Feuil1.Range("D2:D" & derlig)
        .FormulaR1C1 = "=SUMIF(Feuil2!RC:R[8]C,Feuil1!RC[-2],Feuil2!RC[1]:R[8]C[1])"
        .Value = .Value
    End With
End Sub
 
Dernière édition:

stammy

XLDnaute Nouveau
Re

C'est bizarre, je viens d'inserer une ligne dans mon classeur exemple, tout est ok.

EDIT: je sais pourquoi ça inscrit la date en première ligne. Il faut que tu convertisse les tableaux en plages normales.

En fait c'est ce que je veux: une colonne se rajoute avec la date en première ligne et la situation absent/présent sur les lignes en dessous comme sur la photo.
Et j'ai changé le code sur mon TAF sauf qu'il enregistre les lignes sur tous les ateliers en meme temps par exemple Mme LULU qui participe à l'atelier linge est absente aujourd'hui elle va apparaître absente sur tous les autres ateliers avec la date d'aujourd'hui.

Et, peut être pour faire plus claire, l'atelier linge se fait tout les lundis, donc sur le tableau de l'atelier linge on doit trouver le nom, prenom et les dates (tous les lundis depuis septembre jusqu'au juin) en colonnes (titre) et en dessous sur les lignes les nom, prénoms et situation (absent/présent) en lignes
Puis le nom et prénom s'ajoutent automatiquement depuis le tableau de liste des adhérents
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Bonjour stammy

faudrait savoir au juste ce que tu veux. D'abord tu dis ceci
Donc Mme X va figurer sur la feuille Familles, Feuille At_A, At_C, At_F et At_G

Ce qui veut dire sur toutes les feuilles. Maintenant, pour faire comme tu dis, il faut mettre des conditions. Un exemple à adapter.


If Sheets(i).name = Combobox1.Value and Opt1 = True Then
Sheets(i).Range("d" & derlig) = Opt1.Caption Then (Present)
else
Sheets(i).Range("d" & derlig) = Opt2.Caption (Absent)
End if
 
Dernière édition:

stammy

XLDnaute Nouveau

Bonjour Lone-wolf,
Oui c'est ce que j'ai dit mais si t'as remarqué j'ai pas mis tous les ateliers; donc j'ai zappé le At_B le At_D; donc Mme X ne doit pas figurer sur tous les ateliers.
Et pour le code ci-dessus je l'ai essayé mais il y'à toujours "erreur de compilation" au niveau de ".Range("d" & derlig) = opt1.Caption(present)"
 

Lone-wolf

XLDnaute Barbatruc
Bonjour stammy,

Et le fichier modifié alors. Sans ça, impossible de t'aider. De plus, on ne sais pas quel jour les autres ateliers se font. Alors fait un fichier en montrant le résultat de ce que tu veux au juste.
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…