Selection avec deux "variables" qui plante

Bonjour

J'ai besoin de prendre les valeurs d'une école (colonne "B"), et d'une classe (colonne "D") et de les copier dans un autre tableur... J'ai donc besoin d'une formule pour récupérer les classes. J'ai trouvé cette formule suivante qui fonctionne mais qui plante systématiquement à l'avant dernière ligne (Range(myrows....).

Le message d'erreur est: 1004 méthode 'Range' de l'objet'_Global' a échoué...

Étrangement, si vous changez la seconde valeur (qui est 304) pour une classe plus haute dans le tableau (102 par exemple), le code fonctionne à merveille et ne plante pas. C'est quand on lui fait chercher des valeurs plus "bas" (comme la classe 304) qu'il plante... Mon tableau d'origine a 3000 ligne de résultats.

Merci

Sub test()

Dim cell As Range

Dim myrows As String

For Each cell In Range("B1:B" & [B65536].End(xlUp).Row)

If cell.Value = 203 And cell.Offset(0, 2).Value = 304 Then

myrows = myrows & cell.EntireRow.Address & ","

End If

Next cell

myrows = Left(myrows, Len(myrows) - 1)

Sheets("PRI 2014").Select

Range(myrows).Select

End Sub

Tant qu'à y être, une fois qu'il sait trouver les bonnes lignes, j'aimerais qu'il puisse sélectionner que les colonnes "H à BC" et non les lignes entières. Auriez-vous une idée?

Merci

Bonjour

Aucune idée du pourquoi (longueur ?)

En attendant essayes cette méthode

Sub test()
Dim Plage As Range, Cel As Range

    For Each Cel In Range("B1:B" & [B3000].End(xlUp).Row)
    If Cel.Value = 203 And Cel.Offset(0, 2).Value = 304 Then
      If Plage Is Nothing Then
        Set Plage = Range(Cel.Offset(0, 6), Cel.Offset(0, 53))
      Else
        Set Plage = Union(Plage, Range(Cel.Offset(0, 6), Cel.Offset(0, 53)))
      End If
    End If
  Next Cel
  Plage.Select
End Sub

Je suis toujours abasourdi par ton aide si précieuse, gratuite et le fait que tout ce que tu m'apportes comme solution; fonctionne toujours du premier coup!

Un grand merci à toi encore Bonzai!

Rechercher des sujets similaires à "selection deux variables qui plante"