Se connecter avec
S'enregistrer | Connectez-vous

Syntaxe plage VBA Excel

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

biroulig a dit :
Non je veux sélectionner une plage avec la cellule de départ et le nombre de cellule sans avoir à calculer la cellule de fin. un peu comme un registre. Merci


bonjour à tous,
en vb une plage de cellule ou une cellule est un "range".
Par exemple pour trouver la dernière cellule utilisée de la colonne A ou vas utiliser la fonction 'End' associé a une direction 'xlup' (vers le haut).
une recherche sur ces mots dans l'aide vba te permettras d'en savoir plus.

pour choisir la plage A1:A et derniereligne on pourrais faire comme ceci:
  1. Dim plage as range, dercel as integer
  2.  
  3. 'recupere le numero de la derniere ligne utilisee
  4. dercel = sheets(1).range ("A65000").end(xlup).row
  5.  
  6. 'definie la plage
  7. Set plage = sheets(1).range ("A1:A" & dercel)


A toi maintenant d'adapter ces lignes a tes souhaits. Si tu rencontres des problemes regarde l'aide vba qui repondra a tes questions sur ces fonctions de base de vba
A+
Expert Programmation

Salut,

Ouh que c'est bien dit :) 
+1

.... et mal fait ! :( 
C'est bien dit parce qu'il est particulièrement judicieux de considérer une cellule et non pas une ligne. C'est mal fait par ce qu'un Integer n'est pas suffisant, et que la construction d'adresse au format texte est un peu lourde.
Mais sinon, si delcel est la dernière cellule, pourquoi y récupérer la dernière ligne ?

Proposition:
  1. ...
  2. Dim dercel As Range
  3. Set dercel = Worksheets(1).Range ("A65536" ).End(xlUp)
  4. Set plage = Worksheets(1).Range("A1", dercel)


---------------

Tout sur la dernière ligne : http://www.presence-pc.com/forum/ppc/Programmation/tuto...
Expert Programmation

Pour en revenir au problème de biroulig, tu précises :
Citation :
la cellule de départ le sens (colonne ou ligne, pas les deux) et le nombre que l'on désire.
Il me semble que la méthode décalage attend un nombre par rapport à une cellule, c'est à dire exactement ce que tu décris.

Tu n'es pas assez précis dans tes explications.

-------------------------------

Pour déterminer tes plages par rapport à une cellule de référence, considère aussi l'étude de la méthode CurrentRegion().
Expert Programmation

Je t'en prie. Je me permets ces critiques que je juge objectives. Qu'elles ne te dissuadent pas de continuer à aider les autres. Si tu en as pour moi, n'hésite pas ;) 
Lassé par la pub ? Créez un compte