Microsoft 365 creation d'liste à imprimer

Banbara

XLDnaute Nouveau
Supporter XLD
Bonjour à tous,

Sur une feuille de calcul pour gérer une association, j’ai une colonne avec des cases à cocher « K » qui est lié avec la colonne « L » ou apparait une « coche » ou un « x » suivant que la cotisation est payée ou pas. Avec une macro VBA, je veux créer une feuille « Liste à imprimer » qui doit me ressortir uniquement le résultat des coches « payées », et éventuellement faire une mise à jour si une nouvelle coche est activée. Le programme ci-joint fonctionne si le feuille « Liste à imprimer » n’existe pas, elle est crée et remplie avec les données. Si elle existe il efface bien la feuille, mais elle reste vierge sans aucune donnée, alors je demande l’aide des spécialistes.

Sub ImprimerListeCoches()
Dim ws As Worksheet
Dim cell As Range
Dim newSheet As Worksheet
Dim rowNum As Integer
Dim cellValue As Variant

' Définir la feuille de calcul active
Set ws = ActiveSheet

' Vérifier si la feuille "Liste à Imprimer" existe déjà
On Error Resume Next
Set newSheet = Sheets("Liste à Imprimer")
On Error GoTo 0

' Si la feuille n'existe pas, la créer
If newSheet Is Nothing Then
Set newSheet = Sheets.Add(After:=Sheets(Sheets.Count))
newSheet.Name = "Liste à Imprimer"
Else

' Si la feuille existe, effacer les anciennes entrées
'newSheet.Cells.Clear
End If

' Initialiser le numéro de ligne pour la nouvelle feuille
rowNum = 1

' Parcourir chaque cellule de la colonne L
For Each cell In ws.Range("L2:L" & ws.Cells(ws.Rows.Count, "L").End(xlUp).Row)

' Vérifier la valeur de la cellule
cellValue = cell.Value

' Vérifier si la cellule est cochée
If cellValue = True Then

' Copier les valeurs des colonnes B, C, D et E à la nouvelle feuille
newSheet.Cells(rowNum, 1).Value = cell.Offset(0, -10).Value ' Colonne B
newSheet.Cells(rowNum, 2).Value = cell.Offset(0, -9).Value ' Colonne C
newSheet.Cells(rowNum, 3).Value = cell.Offset(0, -8).Value ' Colonne D
newSheet.Cells(rowNum, 4).Value = cell.Offset(0, -7).Value ' Colonne E
rowNum = rowNum + 1
End If
Next cell

' Message de débogage
MsgBox "Mise à jour terminée. Nombre de lignes ajoutées : " & rowNum - 1
End Sub
 
Solution
Bonjour @AlphaOne

L'erreur est juste sur le message pas sur la liste (heureusement) 🤣
J'ai pris la mauvaise variable :rolleyes:
Rappel :
Tu as la possibilité de ne pas afficher les messages !

1726241240929.png


Rectifié avec cette version

Banbara

XLDnaute Nouveau
Supporter XLD
Cette version me convient parfaitement. je viens de voir nos responsables de l'association a qui j'ai présenté le fonctionnement et sa simplicité. Il parait que notre comptable ne veut pas que l'on touche à la présentation actuelle, et qu'li trouvait que c'était sécurisant de cliquer sur une case à cocher et de voir le résultat dans la cellule juste à coté, d'après lui, comme ça il y a moins de risque d'erreur, puisque des personnes différentes "tripotent ce logiciel". je suis vraiment désolé pour ton travail. je vais essayer de voir si je peux m'en sortir, ce n'est pas mom métier et mes connaissances sont limités dans ce domaine. En tout les cas merci de ton implication.
 

Phil69970

XLDnaute Barbatruc
@Banbara

Et bien avec les cases à cocher cher au comptable cela sera sans moi.

Quand je lis ceci je me dis que j'ai bien fait de ne pas être comptable 🤣🤣🤣🤣

Il parait que notre comptable ne veut pas que l'on touche à la présentation actuelle, et qu'li trouvait que c'était sécurisant de cliquer sur une case à cocher et de voir le résultat dans la cellule juste à coté, d'après lui, comme ça il y a moins de risque d'erreur,

Et je rajouterais que cela fais longtemps que j'ai pas lu de choses aussi grotesques car comme les 2 colonnes sont liées dans TON fichier si tu te trompent sur la 1ere case tu te trompes aussi dans la 2eme case et perso je ne vois pas le coté sécurisant de faire ainsi !!!!

Si ton comptable est aussi peu sur de lui change de comptable


Si tu veux minimiser les erreurs prends ce fichier
Si tu veux on peux rendre encore plus complexe, à dégoutter le comptable d'avoir choisi ce job, la sélection sur la colonne "K" avec par exemple valider sur 30 (300 si tu veux) messages avant de modifier la colonnes K ou encore pire.....
 

Pièces jointes

  • Creation liste sur feuille 2 V3.xlsm
    41 KB · Affichages: 3

Banbara

XLDnaute Nouveau
Supporter XLD
@Banbara

Et encore plus visuel voici la V4 la dernière ligne modifié reste surligné !!!!

Merci de ton retour
Justement, en même temps que je recevais ta version 4,, j'avais la visite du staff, les versions 3 et 4 sont adoptées, par ce qu'il n'y avait plus aucun argument à opposer. Apparemment notre comptable avait payé assez cher le développement de la version en service. Merci beaucoup de ton aide, en ce qui me concerne j'avais toujours peur des cases à cocher, mais bon. Cordialement Banbara
 

Banbara

XLDnaute Nouveau
Supporter XLD
@Banbara

Et encore plus visuel voici la V4 la dernière ligne modifié reste surligné !!!!

Merci de ton retour
Afin de compter le nombre
@Banbara



C'est une blague j’espère car si l'association a payé pour tes 2 colonnes de cases à cocher demain je suis milliardaire !!!! 🤣 🤣 🤣

Et accessoirement tu as jeté l'argent par la fenêtre
🤔:oops:
En fait, cela a été fait il y a un bout de temp, et je n'y suis pour rien. J'ai essayer de compter le nombre de cellule "vrai" avec la macro suivante, mais cela ne fonctionne pas. certainement qu'il faut comptabiliser autre chose que des "Vrai". voici ma macro qui me retourne toujours "0".
 

Phil69970

XLDnaute Barbatruc
@Banbara
Et pour le fun je te propose une V5
J'ai remis la possibilité de désactivé les messages.
Dis moi celle que tu préfères ?

J'ai pas compris ton message précédent , tu as un bug sur mon fichier ??
Si oui lequel ? Explique.... en détail et avec quel version ?
 

Pièces jointes

  • Creation liste sur feuille 2 V5.xlsm
    42.9 KB · Affichages: 3

Banbara

XLDnaute Nouveau
Supporter XLD
@Banbara
Et pour le fun je te propose une V5
J'ai remis la possibilité de désactivé les messages.
Dis moi celle que tu préfères ?

J'ai pas compris ton message précédent , tu as un bug sur mon fichier ??
Si oui lequel ? Explique.... en détail et avec quel version ?
Non ce que j'ai, c'est j'ai fais une macro pour compter le nombre de colonne avec la coche verte, en gros ceux qui ont payé leur cotisation avec la macro suivante, mais cela ne fonctionne pas, cela me retourne toujours "0". voici la macro :
Sub CompterVraiColonneK()
Dim ws As Worksheet
Dim countVrai As Long

' Définir la feuille de calcul active
Set ws = ActiveSheet

' Utiliser la fonction COUNTIF pour compter les "VRAI" dans la colonne K
countVrai = Application.WorksheetFunction.CountIf(ws.Range("K:K"), True)

' Afficher le résultat dans une boîte de message
MsgBox "Le nombre de cellules contenant 'VRAI' dans la colonne K est : " & countVrai
End Sub
 

Phil69970

XLDnaute Barbatruc
@Banbara
Tu y était presque, essaye ceci

VB:
Sub CompterVraiColonneK()
Dim ws As Worksheet
Dim countVrai As Long

' Définir la feuille de calcul active
Set ws = ActiveSheet

' Utiliser la fonction COUNTIF pour compter les "VRAI" dans la colonne K
countVrai = Application.WorksheetFunction.CountIf(ws.Range("K:K"), "P")

' Afficher le résultat dans une boîte de message
MsgBox "Le nombre de personnes à jour de cotisation est de : " & countVrai, vbInformation, "Combien ont payé !"
End Sub

;) ;)
 

Banbara

XLDnaute Nouveau
Supporter XLD
@Banbara
Tu y était presque, essaye ceci

VB:
Sub CompterVraiColonneK()
Dim ws As Worksheet
Dim countVrai As Long

' Définir la feuille de calcul active
Set ws = ActiveSheet

' Utiliser la fonction COUNTIF pour compter les "VRAI" dans la colonne K
countVrai = Application.WorksheetFunction.CountIf(ws.Range("K:K"), "P")

' Afficher le résultat dans une boîte de message
MsgBox "Le nombre de personnes à jour de cotisation est de : " & countVrai, vbInformation, "Combien ont payé !"
End Sub

;) ;)
cette version 5, est parfaite et a été adopté. je me suis rendu compte que en fait la numérotation des lignes serait plus intéressante si c'est le numéro de la vrai ligne comportant la coche "vrai" qui est affiché à l'impression. Mais je suis déjà très heureux du travail que tu as fait. Merci encore
 

Phil69970

XLDnaute Barbatruc
@Banbara

Par définition excel et la macro ne se trompent pas si la personne est dans la liste à imprimer c'est forcément que la validation était cochée

Je regarde ce que je peux faire demain
Pour te faire patienter, je te propose cette version ou j'ai rajouté le N° d'adhérents

Merci de ton retour
 

Pièces jointes

  • Creation liste sur feuille 2 V6.xlsm
    43 KB · Affichages: 2

Phil69970

XLDnaute Barbatruc
@Banbara

La V7 avec N° de ligne et N° d'adhérents

Perso :
Pas convaincu de l’utilité du N° de ligne mais c'est toi qui te sers du fichier pas moi !!!!
🤣

Edit : Rajout d'une formule pour avoir le nombre de personnes qui ont payée ;)

1725343822221.png

Merci de ton retour
 

Pièces jointes

  • Creation liste sur feuille 2 V7.xlsm
    44.8 KB · Affichages: 4
Dernière édition:

Discussions similaires

Réponses
49
Affichages
1 K
Réponses
1
Affichages
433

Statistiques des forums

Discussions
315 116
Messages
2 116 408
Membres
112 742
dernier inscrit
julien.sch