XL 2019 modification vba

Quicksland

XLDnaute Occasionnel
Bonsoir le forum ;)

Sur mon ancien fichier il y avais une ligne par jour donc quand j'envoyai un mail une croix s'affichai exemple "B4"

Avec mon nouveau fichier j'ai quatre ligne par jour donc 4 mails possible et je souhaiterai qu'une croix s'affiche sur chaque ligne exemple "B4 ,B5, B6, B7"

Merci pour votre aide
 

Pièces jointes

  • GESTION-POTS 2.xlsm
    134.2 KB · Affichages: 7
Solution
Bonjour,

Avec mon nouveau fichier j'ai quatre lignes par jour donc 4 mails possibles et je souhaiterai qu'une croix s'affiche sur chaque ligne exemple "B4 ,B5, B6, B7"
Pardon, mais ce n'est pas clair.
Chaque ligne peut créer un mail, donc il faut une croix sur la ligne envoyée, donc soit B4, soit B5, soit B6, soit B7.


J'ai un peu tout modifié :

- J'ai encore rectifié la MFC du 29 février. ;)

- J'ai déplacé vers la macro de RàZ tout ce qui concerne la RàZ.

- Quand tu fais un double-clic pour remplir la feuille "FICHE POT", maintenant ça commence par inscrire, en celle AD3 de la feuille active, le numéro de ligne de la...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Quicksland,
Un essai en PJ avec ce que j'ai compris :
Quand on clique sur une cellule de la colonne B on met un "X" dans les 4 cellules du bloc.
Quand on reclique dessus le bloc se vide .
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B4:B127")) Is Nothing Then
        Application.EnableEvents = False
        Bloc = 4 * Int(Target.Row / 4)
        If Cells(Bloc, "B") = "X" Then
            Range(Cells(Bloc, "B"), Cells(Bloc + 3, "B")) = ""
        Else
            Range(Cells(Bloc, "B"), Cells(Bloc + 3, "B")) = "X"
        End If
        Cells(Target.Row, "A").Select
    End If
Fin:
Application.EnableEvents = True
End Sub
Je ne l'ai fait que pour Janvier.
 

Pièces jointes

  • GESTION-POTS 2.xlsm
    129.4 KB · Affichages: 0

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Tu aurais pu expliquer comment et à quel moment tu mets la X !!
Sinon apparemment ce pourrait être à modifier :
VB:
For Each rngCel In wksSheet.UsedRange
            If InStr(UCase(CStr(rngCel.Value)), UCase(strDate)) > 0 Then
                Trouve = True
                wksSheet.Activate
                rngCel.Offset(0, 1).Value = "X"
                rngCel.Offset(1, 1).Value = "X"
                rngCel.Offset(2, 1).Value = "X"
                rngCel.Offset(3, 1).Value = "X"
                
            End If
        Next rngCel
Sans être sûr !!!
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Avec mon nouveau fichier j'ai quatre lignes par jour donc 4 mails possibles et je souhaiterai qu'une croix s'affiche sur chaque ligne exemple "B4 ,B5, B6, B7"
Pardon, mais ce n'est pas clair.
Chaque ligne peut créer un mail, donc il faut une croix sur la ligne envoyée, donc soit B4, soit B5, soit B6, soit B7.


J'ai un peu tout modifié :

- J'ai encore rectifié la MFC du 29 février. ;)

- J'ai déplacé vers la macro de RàZ tout ce qui concerne la RàZ.

- Quand tu fais un double-clic pour remplir la feuille "FICHE POT", maintenant ça commence par inscrire, en celle AD3 de la feuille active, le numéro de ligne de la cellule double-cliquée, puis ça remplit la fiche.

- J'ai ajouté un ScreenUpdating = False dans la macro qui remplit la fiche.

- Quand tu cliques sur le bouton d'envoie du mail, ça récupère le nom du mois dans la cellule C2 de la fiche.
Le nom du mois étant aussi le nom de la feuille concernée, il n'y a pas besoin de chercher la bonne feuille puisqu'on vient de récupérer son nom.
Dans la feuille concernée, on récupère, en cellule AD3, le numéro de la ligne concernée.
On a le nom de la feuille, le numéro de la ligne, et on sait que c'est dans la colonne B, donc il n'y a plus qu'à assembler tout ça pour aller mettre une croix au bon endroit.

La macro qui fait ça :
VB:
    MonMois = Format(ThisWorkbook.Sheets("FICHE POT").Range("C2"), "mmmm")
    Set wksSheet = ThisWorkbook.Sheets(MonMois)
    MaLigne = wksSheet.Range("AD3").Value
    wksSheet.Cells(MaLigne, 2).Value = "X"


Ton fichier modifié en pièce jointe. ;)
 

Pièces jointes

  • GESTION-POTS-2_(TooFatBoy-v4).xlsm
    135.3 KB · Affichages: 3
Dernière édition:

Quicksland

XLDnaute Occasionnel
Bonjour,

Je pense que c'est très mal expliqué

Pardon, mais ce n'est pas clair.
Chaque ligne peut créer un mail, donc il faut une croix sur la ligne envoyée, donc soit B4, soit B5, soit B6, soit B7.


J'ai un peu tout modifié :

- J'ai encore rectifié la MFC du 29 février. ;)

- J'ai déplacé vers la macro de RàZ tout ce qui concerne la RàZ.

- Quand tu fais un double-clic pour remplir la feuille "FICHE POT", maintenant ça commence par inscrire, en celle AD3 de la feuille active, le numéro de ligne de la cellule double-cliquée, puis ça remplit la fiche.

- J'ai ajouté un ScreenUpdating = False dans la macro qui remplit la fiche.

- Quand tu cliques sur le bouton d'envoie du mail, ça récupère le nom du mois dans la cellule C2 de la fiche.
Le nom du mois étant aussi le nom de la feuille concernée, il n'y a pas besoin de chercher la bonne feuille puisqu'on vient de récupérer son nom.
Dans la feuille concernée, on récupère, en cellule AD3, le numéro de la ligne concernée.
On a le nom de la feuille, le numéro de la ligne, et on sait que c'est dans la colonne B, donc il n'y a plus qu'à assembler tout ça pour aller mettre une croix au bon endroit.

La macro qui fait ça :
VB:
    MonMois = Format(ThisWorkbook.Sheets("FICHE POT").Range("C2"), "mmmm")
    Set wksSheet = ThisWorkbook.Sheets(MonMois)
    MaLigne = wksSheet.Range("AD3").Value
    wksSheet.Cells(MaLigne, 2).Value = "X"


Ton fichier modifié en pièce jointe. ;)
Bonjour @TooFatBoy ;)

Ouais c'est vrai pas très clair :rolleyes:

C'est tout a fait ça ...
"Chaque ligne peut créer un mail, donc il faut une croix sur la ligne envoyée, donc soit B4, soit B5, soit B6, soit B7."

Du très bon boulot malgré tout 👍

Bien vu pour l'ajout du message box "Voulez-vous vraiment effacer toutes les données de la feuille "

Tout fonctionne parfaitement

Un très grand merci a toi ainsi qu'a @sylvanu et @herve62
 

Discussions similaires

Réponses
1
Affichages
134
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 364
Messages
2 087 626
Membres
103 625
dernier inscrit
Smer