VBA: object variable or With block variable not set

SaraBilmem

XLDnaute Nouveau
Bonsoir,

Etant dans un fil dont le sujet n'est plus trop le même, je me permets de ré-ouvrir une discussion sur ce qui suit:

- A quoi est dû notification : object variable or With block variable not set?

Car dans mon cas, le "with" est précisé...

Merci d'avance pour votre aide.

Sara

Le code (qui se trouve déjà dans une autre discussion) est le suivant:

Code:
Sub Macro1()

Application.ScreenUpdating = False

Dim dl As Long 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim o As Object 'déclare la variable o (Onglet)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)

With ThisWorkbook.Sheets("PENSIONERS") 'prend en compte l'onglet "Feuil1"

dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne dl de la colonne A (=1) (à adapter si besoin)
    Set pl = .Range("D2:D" & dl) 'définit la plage pl (à partir de la deuxième ligne, tu modifieras si besoin)
    For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
        Select Case cel.Value 'agit en fonction de la valeur de la cellule cel
            Case "IN" 'cas "Super"
                Set o = ThisWorkbook.Sheets("IN") 'définit l'onglet o
            Case "NORMAL" 'cas "Moyen"
                Set o = ThisWorkbook.Sheets("OUT") 'définit l'onglet o
        End Select 'fin de l'action en fonction de ...
    
        'définit la cellule de destination (A1 si A1 est vide, sinon la  première cellule vide de la colonne A)
    
    Set dest = IIf(o.Range("A3") = "", o.Range("A3"), o.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)).Range(.Cells(cel.Row, 1), .Cells(cel.Row, 3)).Copy
    Next cel 'prochaine cellule de la boucle
    Set pl = Nothing 'libération des objets
    Set dest = Nothing
End With 'fin de la prise en compte de l;'onglet "Feuil1"

End Sub
 

Wind

XLDnaute Nouveau
Oui C'est certain. Je viens de modifier la ligne de code qui posait pbm, c'est à dire MonMessage.Send par MonMessage.Display, et la le mail s'ouvre et je peux l'envoyer.

Je vais me contenter de cette option. Merci pour votre aide!
 

Discussions similaires

Réponses
2
Affichages
355

Statistiques des forums

Discussions
312 778
Messages
2 092 039
Membres
105 162
dernier inscrit
djikon