Connaissances Informatiques >> Logiciel >> Microsoft Excel >> Content
  Derniers articles
  • Comment configurer les en-têtes de …
  • Quelle version de Microsoft Excel av…
  • Comment réduire la taille des cellu…
  • Comment lier la quantité pour affec…
  • Où Excel positionne-t-il automatiqu…
  • Quel est le nom unique attribué à …
  • Pourquoi Excel est-il meilleur que l…
  • Comment classer par ordre alphabéti…
  • A5 est-il une adresse de cellule dan…
  • Comment ajoutez-vous Excel? 
  •   Microsoft Excel
  • Adobe Illustrator

  • Un logiciel d'animation

  • antivirus Software

  • Logiciel audio

  • Sauvegarder des données

  • Gravez des CD

  • Gravez des DVD

  • Compression de données

  • Logiciel de base de données

  • desktop Publishing

  • desktop Video

  • Digital Video Software

  • Drupal

  • Logiciels éducatifs

  • Software Engineering

  • Types de fichier d'extension

  • Financial Software

  • Freeware , Shareware et Abandonware

  • GIMP

  • Graphics Software

  • Accueil Recording Software

  • Microsoft Access

  • Microsoft Excel

  • Microsoft Publisher

  • Microsoft Word

  • Code Open Source

  • Autres logiciels informatiques

  • Jeux PC

  • Photoshop

  • Portable Document Format

  • PowerPoint

  • Logiciel de présentation

  • Logiciels de productivité

  • Quicktime

  • Gestion Remote Desktop

  • SQL Server

  • Skype

  • Logiciel bêta de presse

  • Consultants logiciels

  • Les sociétés de développement de logiciels

  • Licences de logiciels

  • Tableur

  • Logiciel de préparation d' impôt

  • Logiciel utilitaire

  • Clip Art Web

  • Windows Media Player

  • Logiciel de traitement de texte

  • Facebook

  • Twitter

  • Instagram

  • LinkedIn

  • TikTok

  • WhatsApp

  • WordPress

  • Chrome

  • Discord

  • Amazon
  •  
    Microsoft Excel

    Comment pouvez-vous créer une macro dans Excel qui enregistre le classeur de revenus et en crée ensuite une nouvelle chaque semaine ?

    ```vba

    Sous-hebdomadaireIncomeManagement()

    ' Déclarer des variables

    Dim wb comme classeur

    Dim ws comme feuille de calcul

    Dim FilePath en tant que chaîne

    Dim FileName As String

    Dim NewFileName As String

    Atténuer WeekStartDate comme date

    Atténuer WeekEndDate comme date

    ' Définissez la date de début de la semaine (vous pouvez l'ajuster en fonction du jour de début de votre semaine, par exemple dimanche ou lundi)

    WeekStartDate =Date - Weekday(Date, vbMonday) + 1 ' Ceci définit le jour de début sur lundi

    ' Définir la date de fin de semaine

    WeekEndDate =WeekStartDate + 6

    ' Définissez le chemin d'accès au dossier dans lequel vous souhaitez enregistrer les fichiers. MODIFIEZ CECI DANS LE DOSSIER DÉSIRÉ

    FilePath ="C:\Path\To\Your\IncomeFolder\" ' <--- IMPORTANT :CHANGEZ CECI !

    ' Vérifiez si le dossier existe, et sinon, créez-le

    Si Dir(FilePath, vbDirectory) ="" Alors

    Chemin de fichier MkDir

    Fin si

    ' Définissez le nom du fichier de base (par exemple, "Revenu")

    Nom du fichier ="Revenu"

    ' Définissez le nouveau nom de fichier (par exemple, "Income_2023-10-23_to_2023-10-29.xlsx")

    NewFileName =FileName &"_" &Format (WeekStartDate, "aaaa-mm-jj") &"_to_" &Format (WeekEndDate, "aaaa-mm-jj") &".xlsx"

    'Créer un chemin de fichier complet

    FilePath =FilePath &NewFileName

    ' ***

    ' Enregistrez le classeur actuel avec le nom de fichier hebdomadaire

    ' ***

    'Obtenir une référence au classeur actuel

    Définir wb =ThisWorkbook

    ' Désactivez la mise à jour de l'écran pour accélérer le processus

    Application.ScreenUpdating =Faux

    ' Enregistrer le classeur

    wb.SaveAs FilePath, FileFormat:=xlOpenXMLWorkbook ' Utiliser xlOpenXMLWorkbook pour le format .xlsx

    ' ***

    ' Créer un nouveau classeur (basé sur le modèle actuel ou sur un modèle)

    ' ***

    ' Option 1 :Créer un nouveau classeur vierge

    'Classeurs.Ajouter

    ' Option 2 :Créer un nouveau classeur basé sur la structure du classeur existant (copiez-le)

    Set wb =Workbooks.Add(ThisWorkbook.FullName) 'ThisWorkbook.FullName utilise le classeur actuel comme modèle

    ' Option 3 :Créer à partir d'un fichier modèle spécifique (si vous disposez d'une configuration de modèle)

    'Dim TemplateFilePath en tant que chaîne

    'TemplateFilePath ="C:\Path\To\Your\Template\IncomeTemplate.xltx" ' MODIFIEZ CECI SUR LE CHEMIN DE VOTRE MODÈLE

    'Définir wb =Workbooks.Add(Template:=TemplateFilePath)

    ' Facultatif :renommez la première feuille du nouveau classeur en quelque chose de significatif.

    Définir ws =wb.Sheets(1)

    ws.Name ="Données sur le revenu hebdomadaire"

    ' Activer la mise à jour de l'écran

    Application.ScreenUpdating =True

    ' Afficher une boîte de message confirmant l'action

    MsgBox "Classeur de revenu actuel enregistré sous :" &NewFileName &vbCrLf &_

    "Un nouveau classeur a été créé pour la semaine prochaine.", vbInformation, "Weekly Income Update"

    ' Nettoyer les variables d'objet (meilleure pratique)

    Définir wb =Rien

    Définir ws =Rien

    Fin du sous-marin

    ```

    Explication et mode d'utilisation :

    1. Ouvrez l'éditeur VBA :

    - Dans Excel, appuyez sur « Alt + F11 » pour ouvrir Visual Basic Editor (VBE).

    2. Insérer un module :

    - Dans le VBE, allez dans `Insérer> Module`. Cela crée un nouveau module dans lequel vous collerez le code.

    3. Collez le code :

    - Collez le code fourni ci-dessus dans le module.

    4. Personnalisez le code (Important !) :

    * `FilePath ="C:\Chemin\Vers\Votre\IncomeFolder\"` :CRITIQUE :remplacez-le par le chemin du dossier réel dans lequel vous souhaitez enregistrer vos classeurs de revenus. Assurez-vous que le dossier existe, sinon le code tentera de le créer. La barre oblique inverse (`\`) est importante. Exemple :`"D:\MesRevenus\"`

    * `WeekStartDate =Date - Jour de la semaine(Date, vbMonday) + 1` : Cette ligne calcule le début de la semaine, en supposant que votre semaine commence le lundi. Si votre semaine commence un dimanche, remplacez-la par :`WeekStartDate =Date - Weekday(Date, vbSunday) + 1` Si votre semaine commence un autre jour, ajustez en conséquence (par exemple, `vbTuesday` pour mardi). Cela fonctionne en trouvant le jour de la semaine *aujourd'hui* et en soustrayant autant de jours, de sorte que le début de la semaine soit toujours cohérent.

    * `FileName ="Revenu"` :Ceci définit le nom de base de votre fichier. Vous pouvez modifier cela si vous souhaitez utiliser un nom de base différent, tel que « MyBusinessIncome » ou « XYZIncomes ».

    * Choisissez *UNE* des options de création de classeur : Le code propose trois options pour créer le nouveau classeur. Décommentez celui que vous souhaitez utiliser en supprimant le ``` en début de ligne :

    * `'Classeurs.Ajouter` :Crée un classeur complètement vide.

    * `Set wb =Workbooks.Add(ThisWorkbook.FullName)` :Crée un nouveau classeur qui est une *copie* du classeur actuel. C'est probablement la meilleure option si vous souhaitez conserver les en-têtes, les formules ou le formatage de semaine en semaine.

    * `'TemplateFilePath ="C:\Path\To\Votre\Template\IncomeTemplate.xltx"` et `'Set wb =Workbooks.Add(Template:=TemplateFilePath)` :Crée un nouveau classeur basé sur un fichier modèle. Vous devrez créer un fichier modèle (`.xltx`) avec le formatage et la mise en page souhaités, puis définir la variable `TemplateFilePath` sur le chemin correct. Important : Décommentez *deux* ces lignes si vous souhaitez utiliser l'option modèle. N'oubliez pas de modifier `"C:\Path\To\Your\Template\IncomeTemplate.xltx"` !

    5. Exécutez la macro :

    - Revenez à la feuille de calcul Excel.

    - Appuyez sur `Alt + F8` pour ouvrir la boîte de dialogue "Macro".

    - Sélectionnez `WeeklyIncomeManagement` dans la liste des macros.

    - Cliquez sur "Exécuter".

    Comment ça marche :

    * Enregistre le classeur actuel :

    * `FilePath =FilePath &NewFileName` construit le chemin complet et le nom de fichier du classeur enregistré.

    * `wb.SaveAs FilePath, FileFormat:=xlOpenXMLWorkbook` enregistre le classeur actuel dans le dossier spécifié avec le nom généré, en utilisant le format `.xlsx`. Ceci est crucial pour la compatibilité et pour garantir que vous utilisez le format de fichier Excel moderne.

    * Crée un nouveau classeur :

    * L'instruction `Workbooks.Add` (ou basée sur un modèle) crée un tout nouveau classeur vide. Ou, comme mentionné précédemment, utilise celui actuel comme modèle.

    * Convention de dénomination des fichiers :

    * `NewFileName =FileName &"_" &Format(WeekStartDate, "yyyy-mm-dd") &"_to_" &Format(WeekEndDate, "yyyy-mm-dd") &".xlsx"` génère un nom de fichier qui inclut les dates de début et de fin de la semaine. Cela facilite l’identification des données pour chaque semaine. La fonction `Format` garantit que les dates sont dans un format cohérent et triable (AAAA-MM-JJ).

    * Gestion des erreurs et création de dossiers (améliorés) :

    * `If Dir(FilePath, vbDirectory) ="" Ensuite, MkDir FilePath` vérifie si le dossier cible existe. Si ce n'est pas le cas, il crée le dossier. Cela évite les erreurs si le dossier n'existe pas déjà.

    * Mise à jour de l'écran :

    * `Application.ScreenUpdating =False` et `Application.ScreenUpdating =True` désactivent et réactivent la mise à jour de l'écran. Cela accélère l'exécution de la macro et évite le scintillement.

    * Nettoyage des variables d'objet :

    * `Set wb =Nothing` et `Set ws =Nothing` sont de bonnes pratiques. Ils libèrent la mémoire utilisée par les variables objet « wb » et « ws » une fois qu'elles ne sont plus nécessaires. Cela permet d'éviter les fuites de mémoire, en particulier dans les macros à exécution plus longue.

    Considérations importantes :

    * Sauvegarde : Sauvegardez toujours vos classeurs avant d’exécuter des macros qui les modifient ou les enregistrent.

    * Sécurité des macros : Excel dispose de paramètres de sécurité pour les macros. Vous devrez peut-être les ajuster pour permettre l'exécution des macros. Accédez à « Fichier> Options> Centre de confidentialité> Paramètres du Centre de confidentialité> Paramètres des macros » et sélectionnez « Activer toutes les macros » (non recommandé pour une utilisation générale; à utiliser avec prudence) ou « Désactiver toutes les macros avec notification » (recommandé, mais vous devrez activer les macros à chaque fois que vous ouvrez le classeur). Une meilleure approche consiste à utiliser une macro signée numériquement.

    * Test : Testez minutieusement la macro avec un exemple de classeur avant de l'utiliser avec vos données réelles.

    * Placement de la Macro : La macro doit être enregistrée dans un classeur dans lequel les macros sont activées (soit « .xlsm », soit l'ancien format « .xls » si vous disposez d'anciennes versions d'Excel). Idéalement, vous enregistreriez la macro dans votre classeur de macros personnelles afin qu'elle soit disponible dans tous les classeurs Excel. Pour ce faire :

    1. Dans le VBE, accédez à Affichage> Explorateur de projet.

    2. Si vous voyez « PERSONAL.XLSB » (ou similaire) dans l'Explorateur de projet, le classeur de macros personnelles est déjà créé. Sinon, enregistrez une macro factice (onglet Développeur> Enregistrer la macro, enregistrez-la dans le classeur de macros personnelles) pour la créer.

    3. Faites glisser le module contenant le code du classeur actuel vers « PERSONAL.XLSB » dans l'Explorateur de projet.

    4. Enregistrez le classeur de macros personnelles.

    Déclenchement de la macro (automatisation) :

    Vous pouvez automatiser l'exécution de la macro de plusieurs manières :

    * Bouton sur la feuille de calcul : Insérez un bouton (onglet Développeur> Insérer> Bouton). Attribuez la macro au bouton.

    * Ruban : Ajoutez un onglet ou un bouton personnalisé au ruban Excel et attribuez-lui la macro.

    * Événement Workbook_BeforeClose : Placez le code dans l'événement `Workbook_BeforeClose` dans le module `ThisWorkbook`. Cela exécutera la macro *avant* la fermeture du classeur. Attention : Il peut s'agir d'un comportement inattendu si l'utilisateur ne sait pas que la macro est en cours d'exécution.

    * Planificateur de tâches Windows (avancé) : Utilisez le Planificateur de tâches Windows pour planifier le classeur Excel afin d'ouvrir et d'exécuter la macro à une heure précise chaque semaine. Il s'agit de l'approche la plus automatisée. Vous devrez utiliser les options de ligne de commande d'Excel pour ouvrir le classeur et exécuter la macro (par exemple, `excel.exe "C:\Path\To\Your\Workbook.xlsm" /m "WeeklyIncomeManagement"`). Cela nécessite plus de configuration.

    En suivant ces étapes et en personnalisant le code, vous pouvez gérer efficacement vos données de revenus hebdomadaires avec cette macro Excel. N'oubliez pas de le tester minutieusement avant de vous y fier pour des données importantes.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Quelle fonction est utilisée pour randomiser un nombre dans Excel ? 
  • Quelle commande est utilisée pour fermer la fenêtre Excel ? 
  • Comment tapez-vous une phrase sous votre texte dans Microsoft Excel? 
  • Qu'est-ce qu'un opérateur dans Microsoft Excel? 
  • Quelle est la caractéristique qui crée une seule cellule à partir de nombreuses cellules lors de …
  • Pouvons-nous ouvrir des draps Windows Excel dans Nexus 6? 
  • Que signifie le revenu moyen des articles sur Excel ? 
  • Qu'est-ce que la capacité totale pour 2007 Excel? 
  • Quelle est la dernière cellule d'Excel? 
  • Quel type de lignes d'étincelles pouvez-vous utiliser dans Excel? 
  • Connaissances Informatiques © http://www.ordinateur.cc