Probleme de code

bonsoir a tous mon code n'est pas forcement le meilleur mais vu que je n'ai pas eu de reponse sur mon dernier post j'ai brodé un petit peu et la je coince

Je souhaite detecter la derniere ligne non vide dans Set Plage = Range("C5:C25") de ma colonne C mais je trouve pas la solution un ptit coup de main serait le bienvenue ^^

voici le code ci dessous que j'utilise

Sub printpositif1()

Dim Plage As Range

Dim cellule As Range

Dim compteur As Integer

Dim TabDynamique() As Variant

Dim Worksheet As Worksheet

Sheets("Suivi1").Select

If Range("A5").Activate Then

Selection.Copy

Sheets("NEC").Select

compteur = Range("A2").Value

Range("A52").Select

Worksheets("NEC").Cells(52 + compteur, 1).Activate

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

End If

Sheets("Suivi1").Select

Set Plage = Range("C5:C25")

For Each cellule In Plage

Sheets("Suivi1").Select

Set Plage = Range("C5:C25")

cellule.Select

If cellule.Value > 5 Then

Rows(ActiveCell.Row & ":" & ActiveCell.Row).Select

Selection.Copy

Sheets("NEC").Select

compteur = Range("A4").Value

Worksheets("NEC").Cells(54 + compteur, 1).Activate

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

ActiveWindow.SelectedSheets.PrintOut Copies:=0

Range("A52:D52").Select

Selection.ClearContents

Range("A54:D54").Select

Selection.ClearContents

End If

Next

End Sub

Bonsoir

Range("C5", Range("C5").End(xlDown)).Select

Selectionnera toutes les cellules remplies

Range("C5").End(xlDown).Select

Selectionnera juste la dernière cellule non vide

Merci beaucoup pour tes réponses mais je n'arrive vraiment pas à les incorporer dans ma configuration avec le set plage ca bloque peux tu m'orienter stp

En attendant que plus aguérri que moi ne passe par là pour résoudre le problème

joignez une copie du fichier pour que l'on puisse voir et tester les solutions.

si

Set Plage = Range("C5", Range("C5").End(xlDown)).Select

ne fonctionne pas...

Il va falloir attendre le passage de plus expert que moi.

Merci pour ton aide mais ca ne marche pas non plus et malheuresement je ne peux pas joindre de fichiers car c'est une partie de tout un ensemble de macro et le tableau que j'ai fait est confidentiel ...

Mais en tout cas merci de t'être penché sur mon probleme c'est sympa

Bonjour,

A tester

Cdlt

Dim Plage As Range
Set Plage = Range("C5", Range("C5").End(xlDown))
'code
'........
'en fin de procédure
Set Plage = Nothing

Merci beaucoup Jean eric c'est exactement ce qu'il fallait je met la solution a mon problème si d'autre se retrouve dans le meme cas

Cordialement

Joloose

Sub printpositif1()

Dim Plage As Range

Dim cellule As Range

Dim compteur As Integer

Dim TabDynamique() As Variant

Dim Worksheet As Worksheet

Sheets("Suivi1").Select

If Range("A5").Activate Then

Selection.Copy

Sheets("NEC").Select

compteur = Range("A2").Value

Range("A52").Select

Worksheets("NEC").Cells(52 + compteur, 1).Activate

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

End If

Sheets("Suivi1").Select

Set Plage = Range("D5", Range("D5").End(xlDown))

For Each cellule In Plage

Sheets("Suivi1").Select

Set Plage = Range("D5", Range("D5").End(xlDown))

cellule.Select

If cellule.Value > 5 Then

Rows(ActiveCell.Row & ":" & ActiveCell.Row).Select

Selection.Copy

Sheets("NEC").Select

compteur = Range("A4").Value

Worksheets("NEC").Cells(54 + compteur, 1).Activate

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Set Plage = Nothing

ActiveWindow.SelectedSheets.PrintOut Copies:=2

Range("A52").Select

Selection.ClearContents

Range("B54:E54").Select

Selection.ClearContents

End If

Next

End Sub

"Certaines cellules sont differentes a la demande initiale car j'ai apporté des modifications à ma macro"

Rechercher des sujets similaires à "probleme code"