Bonjour à tous,
J'ai un petit problème de connaissance. J'ai ma feuille excel, on peut lui appliquer un filtre qui va donc modifier ma page.
Exemple du tableau :
Comment je fais en vba pour spécifier que la lecture commence ligne 23 puis 42 puis 58 et non 23,24,25 etc...n°ligne : Nom : imputations : mail : 23 :toto : 0 : toto@toto.fr 42 : lala : 0 : lala@lala.fr 58 : robin : 0 : robin@robin.fr
Mon script actuel :
Merci de votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 Sub envoimail() ' 'Module d'envoi de mail ' 'Declaration de mes variables Dim imputations As Integer Dim joursouvres As Integer Dim adressemail As String Dim nb_passage As Integer Dim nb_lignes_total As Integer 'On compte le nombre de ligne dans notre tableau nb_lignes_total = Cells(5, 7) 'On crée notre boucle For nb_passage = 1 To nb_lignes_total 'Sélection de la cellule de la ligne et de la colonne joursouvres = Cells(4, 3) imputations = Cells(23, 3) adressemail = Cells(6, 7) 'On compare l'imputation de la ressource aux jours ouvrés renseignés If imputations <> joursouvres Then 'On envoi les mails 'Dim OutlookApp As New Outlook.Application 'Dim NewMail As Outlook.MailItem 'Set NewMail = OutlookApp.CreateItem(olMailItem) 'NewMail.Recipients.Add (adressemail) 'NewMail.Subject = "Rempli tes heures" 'NewMail.Send MsgBox adressemail Else 'On passe à la ligne suivante sans rien faire. MsgBox "La condition est valide !" End If Next End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 Sub envoimail() ' 'Module d'envoi de mail ' 'Declaration de mes variables Dim imputations As Integer Dim joursouvres As Integer Dim adressemail As String 'Dim nb_passage As Integer 'Dim nb_lignes_total As Integer 'On compte le nombre de ligne dans notre tableau 'nb_lignes_total = Cells(5, 7) 'On crée notre boucle 'For nb_passage = 1 To nb_lignes_total 'Sélection de la cellule de la ligne et de la colonne joursouvres = Cells(4, 3) imputations = Cells(23, 3) adressemail = Cells(6, 7) If Range("A:A").SpecialCells(xlCellTypeVisible).Areas(1).Count > 7 Then [A2].Select Else Range("A:A").SpecialCells(xlCellTypeVisible).Areas(2).Item(1).Select End If For Each c In Range("A7", [A65000].End(xlUp)).SpecialCells(xlCellTypeVisible) MsgBox c.Value & " " & c.Address Next c 'On compare l'imputation de la ressource aux jours ouvrés renseignés If imputations <> joursouvres Then 'On envoi les mails 'Dim OutlookApp As New Outlook.Application 'Dim NewMail As Outlook.MailItem 'Set NewMail = OutlookApp.CreateItem(olMailItem) 'NewMail.Recipients.Add (adressemail) 'NewMail.Subject = "Rempli tes heures" 'NewMail.Send MsgBox adressemail Else 'On passe à la ligne suivante sans rien faire. MsgBox "La condition est valide !" End If 'Next End Sub
Partager