Définition RANGE avec ligne variable

Bonjour

je viens vers vous pour ce code

je crois que j'ai un soucis avec PL surement une erreur d'écriture mais je trouve pas

le but est de sélectionnera des questions marqué d'un "X" parmi 60 questions possible , j'ai trouver ça sur l'ancien fichier et j'essayais de le simplifier mais pas facile

(j'ai 25 onglets de 60 questions j'essaie de trouver un code pas trop charger )

si vous avez une idée merci d'avance

Sub Onglet_Couleurs()

Dim Ligne As String
Dim PL As Range

Ligne = 1
questionchoisie = ""
PL = Range(cell(Ligne, 2), cell(Ligne + 5, 7))

Do Until Ligne > 300
    questionchoisie = Worksheets("couleurs").Cells(Ligne, 1)

    If (questionchoisie = "x" Or questionchoisie = "X") Then
        If Ligne = 1 Then
            Sheets("couleurs").Activate
            Sheets("couleurs").PL.Select
            Selection.Copy
            Call Feuille_Test(Ligne)
        Else
            If Ligne = 6 Then
                Sheets("couleurs").Activate
                Sheets("couleurs").PL.Select
                Selection.Copy
                Call Feuille_Test(Ligne)
            Else
                If Ligne = 11 Then
                    Sheets("couleurs").Activate
                    Sheets("couleurs").PL.Select
                    Selection.Copy
                    Call Feuille_Test(Ligne)
                Else
                    If Ligne = 16 Then
                    Sheets("couleurs").Activate
                    Sheets("couleurs").PL.Select
                    Selection.Copy
                    Call Feuille_Test(Ligne)

                    End If
                End If
            End If
        End If
    Else
    End If
    Ligne = Ligne + 5
Loop
End Sub
Sub Feuille_Test(Ligne)

ligne_ref_question = 6
ligne_ref_test = 6

    Sheets("Livret avec correction").Activate
    Cells(ligne_ref_test, 2).Select
    Sheets("Livret avec correction").Select
    Contenu_case_question = Cells(ligne_ref_test, 2)
    Do While Contenu_case_question <> ""
        ligne_ref_test = ligne_ref_test + 5
        Contenu_case_question = Cells(ligne_ref_test, 2)
    Loop
    Cells(ligne_ref_test, 2).Select
    Selection.Insert Shift:=xlDown
    ligne_ref_test = ligne_ref_test + 5
    Cells(ligne_ref_test, 2).Select

End Sub

On gagnerait du temps si vous nous proposiez le fichier.

Effectivement , j'e l'ai réduit le voici

9test-be.zip (361.09 Ko)

Votre problème vient de ce que vous devez d'abord étudier comment fonctionnent les cellules fusionnées.
Dans votre tableau, vous avez fusionné la plage A1:A4, ce qui compte pour une seule cellule (A1). La cellule E2 existe, mais la A2 n'existe plus à cause de la fusion, etc.

Un conseil si vous le permettez : laissez tomber les enjolivures tant que tout n'est pas au point. Ensuite vous pourrez mettre des couleurs, des textes verticaux, etc. Mais attention aux cellules fusionnées lorsqu'elles contiennent des données.

Rechercher des sujets similaires à "definition range ligne variable"