Limiter une variable

Bonjour
j'utilise la Macro ci après

Sub liste()
    Application.ScreenUpdating = False

    Dim Valeur As long
    With Sheets("saisie_numo")
        Valeur = .Range("k" & Rows.Count).End(xlUp).Row
        For i = 1 To Valeur
            If .Range("D" & i) <> "" Then
                .Range("c" & i).Copy .Range("a" & .Range("D" & i))
            End If
        Next i
    End With
    Application.ScreenUpdating = True
End Sub

Dans cette configuration

For i = 1 To Valeur

la variable porte sur toute la colonne

Est il possible de limiter par exemple de "d50"à "d"100.

Merci pour votre aide

Pierre

Bonjour Pierre_br

Dans cette configuration

For i = 1 To Valeur

la variable porte sur toute la colonne

Je vois que vous ne comprenez pas le code qu'on vous donne

C'est totalement faux, cette ligne

Valeur = .Range("k" & Rows.Count).End(xlUp).Row

Trouve le numéro de la dernière ligne remplie

A+

bonjour à tous,

Est il possible de limiter par exemple de "d50"à "d"100.

remplace cette instruction (de la ligne 1 à la dernière ligne contenant une valeur en colonne k, voir comment la variable valeur est initialisée).

 For i = 1 To Valeur

par

 For i = 50 To 100

Bonsoir

1) A l'attention de h2so4

Merci pour ta réponse .Cela répond tout à fait à mon problème ayant besoin de scinder la colonne en 4

Cordialement

Pierre

Bonsoir

2) A l'attention de BrunoM45

Certes mes connaissances en développement excel sont très limitées
mais je pensais que le but de ce forum était que les plus compétents aident les novices.

Vous déclarer que cette ligne c'est totalement faux : Valeur = .Range("k" & Rows.Count).End(xlUp).Row

Pour info cette macro est utilisée depuis 5 ans 10 fois par semaine et elle fonctionne très bien.

Bonjour Pierre

Navré que vous l'ayez mal pris, à priori nous ne nous sommes pas compris

Relisez moi, je n'ai pas dit que la ligne de code est totalement fausse

Je parlai de votre compréhension de la ligne

Dans cette configuration

For i = 1 To Valeur

la variable porte sur toute la colonne

Et la portée de la variable n'est pas toute la colonne avec, elle ne donne que le numéro de la dernière ligne remplie

 Valeur = .Range("k" & Rows.Count).End(xlUp).Row

Si la portée avait été toute la colonne, vous auriez eu

Dim Valeur As Range
Set Valeur = Range("K:K")

J'espère que cette explication vous aidera dans votre compréhension

Et oui, les plus compétents sont là pour aider les novices

Sinon tant pis

Rechercher des sujets similaires à "limiter variable"