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

copie d'information sur feuille excel automatique

  • Initiateur de la discussion Initiateur de la discussion angoul
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

angoul

XLDnaute Impliqué
bonsoir,

J'ai creer mon userform qui fonctionne et qui copie mes infos dans une feuille excel.

j'aimerai qu'a chaque changement de mois, il me creer un nouvelle onglet dans la feuille et qu'il rentre les elements.

comment faire???

merci
 
Re : copie d'information sur feuille excel automatique

Bonsoir Angoul, bonsoir le forum,

Sans fichier exemple il sera difficile de t'apporter de l'aide. Si ton fichier est trop volumineux, crée un fichier exemple avec juste quelques données non confidentielles, l'userform que tu utilises et nomme les onglets et/ou les plages comme dans ton fichier source. Zippe-le et envoie-le en pièce jointe.
 
Re : copie d'information sur feuille excel automatique

Bonjour,

Je te propose la solution suivante :

1) Tu dois être capable de déterminer si l'onglet du mois en court est créé, ou encore mieux, quel onglet correspond à quel mois.
Par exemple, par rapport au nom de l'onglet.

2) La fonction qui remplit l'onglet du mois à partir de ton userform doit connaître le mois en court et savoir reconnaitre si l'onglet du mois est créé, sinon, le créer et ensuite y accéder.

Ex : Nom Onglet = %racine%_mmaa, où %racine% est un nom fixe de ton choix, mm est le numéro du mois (01, 02 ...) et aa le numéro de l'année (01, 02 ...)

Tu récupères la date système sous le même format que ton nom d'onglet :

Dim sCeMois As String
sCeMois = Format(Date$, "mmyy")

Tu cherches l'onglet correspondant au mois en court et s'il n'existe pas tu le crées (par exemple en copiant celui du mois d'avant que je présume exister).

Dim shCeMois As Worksheet
Dim sMoisDernier As String

On Error Resume Next

Set shCeMois = Sheets(%racine% & "_" & sCeMois)
If Err.Number Then
sMoisDernier = Format(DateAdd("m", -1, Date$), "mmyy")

Sheets(%racine% & "_" & sMoisDernier).Copy After:=Sheets(Sheets.Count)
Set shCeMois = Sheets(Sheets.Count)
shCeMois.Name = %racine% & "_" & sCeMois
EndIf

Err.Clear
On Error GoTo 0

Le code est, bien sur, à adapter un peu.

@+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
286
W
Réponses
12
Affichages
452
D
  • Question Question
Réponses
5
Affichages
253
Didierpasdoué
D
Réponses
12
Affichages
383
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…