MACRO A REPETER SUR LIGNES INFERIEURES

Fermé
CHRISTOF26 Messages postés 3 Date d'inscription jeudi 9 avril 2015 Statut Membre Dernière intervention 9 avril 2015 - 9 avril 2015 à 12:16
CHRISTOF26 Messages postés 3 Date d'inscription jeudi 9 avril 2015 Statut Membre Dernière intervention 9 avril 2015 - 9 avril 2015 à 13:59
Bonjour à tous. Votre forum m'aide très souvent merciiii
aujourd'hui, j'ai créé une macro qui créé une alerte outlook en prenant en compte la date et l'heure de mon rappel mis dans une cellule et en reprenant le nom de mon prospect à suivre.
ca marche pour ma première ligne. Seulement, je voulais répéter cette macro sur toutes les lignes en dessous.
Dans ma macro, j'ai "figé" les 2 cellules ou je dois chercher l'info : N5 pour date et A5 pour nom prospect. Je voudrai par défaut que pour la ligne suivante N5 devienne N6 et A5 devienne A6 etc... Euh... Suis je assez clair ? voici ma macro.

Sub AjoutTache()
Dim OlApp As Object
Dim NS As Object, ObjTask As Object
Set OlApp = CreateObject("Outlook.Application")
Set NS = OlApp.GetNamespace("MAPI")
Set ObjTask = OlApp.CreateItem(olTaskItem)
With ObjTask
.Subject = [A5]
'.Body = "texte"
.ReminderTime = [N5]
.ReminderSet = True
.Display 'mettre en commentaire après mise au point
End With
ObjTask.Save
End Sub

Merci pour toute aide
Christophe B



A voir également:

4 réponses

ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
9 avril 2015 à 12:47
Salut,

Y'a combien de ligne en dessous ?
Si on fait une boucle il faut un facteur d'arrêt.

Soit 20 lignes et on s'arrête,
Soit tant que la ligne du dessous n'est pas vide.
Est-ce que, quand A20 imaginons est vide alors ta création s'arrête là.
Soit de A5 à A19, on crée et comme A20 est vide alors on sort de la boucle.
0
CHRISTOF26 Messages postés 3 Date d'inscription jeudi 9 avril 2015 Statut Membre Dernière intervention 9 avril 2015
9 avril 2015 à 13:37
Bonjour, merci de ta réponse.
après ma 1ere ligne, en ai encore 19 autre puis plus rien.
Comment faire une boucle ?
0
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
Modifié par ozone_ le 9/04/2015 à 13:58
J'ai essayer quelque chose mais comme je peux pas tester le code, je sais pas ce que ça va donner mais le principe est là :

Sub AjoutTache()

    Dim OlApp As Object
    Dim NS As Object, ObjTask As Object
    Dim i As Integer
    
    Set OlApp = CreateObject("Outlook.Application")
    Set NS = OlApp.GetNamespace("MAPI")
    Set ObjTask = OlApp.CreateItem(olTaskItem)
    
    For i = 5 To 24
        With ObjTask
        .Subject = Range("A" & i&)
        '.Body = "texte"
        .ReminderTime = Range("N" & i&)
        .ReminderSet = True
        .Display 'mettre en commentaire après mise au point
        End With
        ObjTask.Save
    Next
    
End Sub


Ou si le premier code ne fonctionne pas

Sub AjoutTache()

    Dim OlApp As Object
    Dim NS As Object, ObjTask As Object
    Dim i As Integer
    
    Set OlApp = CreateObject("Outlook.Application")
    Set NS = OlApp.GetNamespace("MAPI")
    Set ObjTask = OlApp.CreateItem(olTaskItem)
    
    For i = 5 To 24
        With ObjTask
        .Subject = [A&i]
        '.Body = "texte"
        .ReminderTime = [N&i]
        .ReminderSet = True
        .Display 'mettre en commentaire après mise au point
        End With
        ObjTask.Save
    Next
    
End Sub


Ici, la boucle For va être répété 20 fois avant de s'arrêter.
Et la cellule sera donc en premier lieu A5 -> Range("A" & i&)
Puis au second passage alors comme i est incrémenter la cellule sera alors A6, de même pour N.
Et ainsi de suite jusqu'à 25

1f u c4n r34d th1s u r34lly n33d t0 g37 l41d !
0
CHRISTOF26 Messages postés 3 Date d'inscription jeudi 9 avril 2015 Statut Membre Dernière intervention 9 avril 2015
9 avril 2015 à 13:59
merci je regarde cela et te dit. Merci pour ton aide.
0