Ouvrir un fichier dans une boucle

Bonjour à tous,

Après multiples tentatives, je reviens sur ce forum.

J’ai créé une macro qui me permets de comparer deux fichiers Excel et de noter « Ok » dans la colonne 3 du fichier 2 lorsque les noms correspondent entre eux.

Jusque-là tout fonctionne.

Je souhaiterais maintenant ajouter une variable : une colonne catégorie avec 2 choix possibles « lait » ou « chocolat ». La macro devra envoyer un mail à toutes les personnes qui ont choisi « lait » et noter à l’inverse « pas de catégorie » si c’est l’autre choix.

L’endroit où ça bloque c’est à l’ouverture du fichier 2 juste après la boucle IF***"lait", je pense ne pas utiliser les bons termes dans mon code.

Dernière info, dans le fichier 1 il y a 4 colonnes avec : noms, mails, prénoms et catégorie

Dans le fichier 2 il y a 2 colonnes avec : noms et quantité (que l’on n’utilise pas)

Etant ici pour apprendre, tout conseil est le bienvenu :)

Sub categorie()

        Dim ObjOutlook As New Outlook.Application
        Dim oBjMail
        Dim nom(1 To 2000) As String
        Dim Mail(1 To 2000) As String
        Dim Prénom(1 To 2000) As String
        Dim catégorie(1 To 2000) As String
        Dim i As Integer
        Dim FL As Range
        Dim DateDuJour As Date

    Windows("1").Activate

        Dim OutApp As Object
        Dim OutMail As Object
        Dim cell As Range

    Application.ScreenUpdating = False

   Set FL = Worksheets("Destinataires").[a1]

     DateDuJour = Worksheets("Destinataires").Range("F1").Value

    For i = 2 To 2000
        nom(i - 1) = FL.Cells(i, 1)
        Mail(i - 1) = FL.Cells(i, 2)
        Prénom(i - 1) = FL.Cells(i, 3)
        catégorie(i - 1) = FL.Cells(i, 4)

    If FL.Cells(i, 1) = "" And FL.Cells(i, 4) <> "lait" Then
    Exit For
    End If

   If FL.Cells(i, 4) = "lait" Then
   Windows("2.xlsx").Activate
   Worksheets("cl").Activate

   FL.Cells(i, 3).Value = "ok"

        Worksheets("cl").Activate
        FL.Cells(i, 3).Select
        ActiveCell.Font.Color = 1
        ActiveCell.Interior.ColorIndex = 10

        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)

    With OutMail
            .To = Mail
            .Subject = "catégorie lait ou chocolat"

            .HTMLBody = "*****"

        .Display

     End With
     End If
     Set OutMail = Nothing

      If nom(j) = "" Then
      FL.Cells(i, 3).Value = "Pas de categorie"
      FL.Cells(i, 3).Activate
      ActiveCell.Font.Color = 1
      ActiveCell.Interior.ColorIndex = 3

    End If
    Next i

 End Sub

Merci d’avance !

Cordialement

Bonjour

Tu devrais joindre tes 2 fichiers.

Bye !

Rechercher des sujets similaires à "ouvrir fichier boucle"