VBA selection plage de cellule

Résolu
Bonjour,

voici un code pour selectionner une plage de cellule avec 2 variables Long:

Private Sub Validation_Click()

Dim a As Long, b As Long

Do 'je cherche mon OF saisi dans la colone "A"
a = a + 1
Loop Until Application.Cells(a, 1) = SaisiOf

Do 'je cherche la derniere cellule vide sur la ligne 'a'
b = b + 1
Loop Until Application.Cells(a, b) = Empty

Range Cells(a, 4): Cells(a + 3, b).Select 'je selectionne une plage

End Sub


Je voudrai donc cherché ma valeur 'OF' puis la dernière cellule vide sur la ligne de cette valeur, ensuite selectionner la plage à partir de la 5° cellule de cette meme ligne (a,4) jusqu'à la derniere cellule vide + 3 ligne . . .
Exemple: si ma valeur est en A1, et que la derniere cellule est J1 je voudrai selectionner de E1 à J3

voilà j'espere que vous me comprendrez mon code bloque sur la ligne Range Cells(a, 4): Cells(a + 3, b).Select avec une erreur : "utilisation incorrecte de la propriété". ..

à l'aide S'il vous plait

--
MERCI A CCM à déclarer source d'intéret public . .. .. pensez à marquer vos topic résolus quand c'est le cas .. . . .
Configuration: asus P5V800 / P4 2,8 Ghz / 1,5 Go Windows XP FireFox / IE 7

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    bonjour

    D'après ce que je comprend tu devrais essayer :
    Cells(a, 4).Resize(3, b).Select 'je selectionne une plage
    
    1. re merci pour ta réponse il y a du mieux je n'ai plus le message d'erreur par contre ça ne s'arrete pas à la derniere cellule. . .mais 4 apres la derniere
      je te donne des precision sur mon exemple:

      mon OF ( valeur de SaisiOf ) est en A1, à partir de E1j'ai une serie de date qui peut etre variable mais pour l'exemple on dit qu'elle s'arrete en J1 , les 2 lignes en dessous j'ai une action sous chaque date, je souhaite donc selectionner les cellules à partir de la premiere date soit celle en E1 jusqu'à J3

      Avec ton code ça me selectionen jusqu'à N3

      voilà
      1. Contributeur
        bonjour

        Il suffit de mettre 1 au lieu de 4 mais il faudrait que tu clarifies tes explications car il est très difficile de te comprendre.
        1. c'est bon j'ai trouvé en faite la valeur b c'est de A1 jusqu'à derniere cellule vide donc il selectionne bien à partir de A5 mais à ca il y rajoute b soit de A1 à J1 j'ai solutionné comme ceci:


          Cells(a, 4).Resize(3, b - 4).Select 'j'enleve mon decallage de 4
          1. désolé je sais que c'est pas facile j'essaye bien d'etre le plus clair possible mais bon pas toujours evident, mais bon le principal c'est qu'on ai réussi encore merci

            et merci d'avoir mis le topic résolu ;) j'allai le faire