[VBA] Probleme code avec Row( x : x)

Liisht -  
 Liisht -
Bonjour,
J'ai un soucis dans l'écriture de mon code, en voici une partie :

Select Case Typ
TestV = False
i = 0
Case "Etude"
MsgBox ("Etude")
'Recherche position (indice i) de l'affaire(commun)

While TestV = False
If Cells(i, 1) <> "" Then
If Cells(i, 1) > Ref Then
TestV = True
'Inser ling
ElseIf Cells(i, 1) = "Fin" Then
TestV = True
a = 0
End If
End If
i = i + 1
Wend
' il faut que j'insere en ligne i-1
'Insertion\Ecriture des lignes qui nous interesse qui dependent du type

Rows(i:i + 21).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(i - 1, 1) = Ref
Sheets("type").Select
Range("A3:C12,A13:C17,A27:C31").Select
Selection.Copy
Sheets("PLAN ACTION").Select
Range("A i ").Select
ActiveSheet.Paste

Case "Chiffrage"

Voila le probleme est que dans la ligne : Rows(i:i + 21).Select
Je ne peux pas utiliser le i comme reference pour les lignes à selectionner !
Il en va de meme pour la plage : Range("A i ").Select

Comment faire pour utiliser on indice d'itération de la boucle while dans ces commandes.

Merci d'avance !

5 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    ah oui, ok, excuses moi j'avais mal compris!

    Rows(i & ":" & i + 4)
    7
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,
    Rows(i+21)
    range("A" & i) ou cells(i,1)

    au passage:
    tu as i=0
    et quelques lignes en dessous
    cells(i,1) ?

    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Salut,
      Salut michel,
      Au lieu de Rows(i) et comme j'ai cru comprendre qu'il souhaite sélectionner 21 lignes, je propose :
      Range(Cells(i, 1), Cells(i + 21, 1)).EntireRow.Select
      Entièrement d'accord pour le cas i = 0 à éviter.
      0
  3. Liisht
     
    Rows(i+21) cela ne me permet de selectionner qu'une ligne

    Ce serait pour faire ( i : i + 21) donc de la ligne i a la ligne i + 21 mais le probleme c'est que si j'écrit i dans les paranthèse j'ai une erreur de compilation !
    0
  4. Liisht
     
    Et merci pour le Range( "A" & i ) ou la variante en utilisant simplement Cells
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Liisht
     
    Ok merci a vous en faite ce n'est qu'une syntaxe a prendre avec les "" !
    Je test ca en esperant que tout fonctionne derrière.
    0