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:
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