Macro excel. Selection d une plage de cellule

Fermé
salykato Messages postés 1 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 26 mars 2011 - Modifié par salykato le 26/03/2011 à 14:25
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 27 mars 2011 à 17:14
Bonjour,

j'ai, dans une feuille excel une plage de cellules contenant des données.
Cette plage est référencée A1:B35.
Mais toutes les cellules de cette plage n'affichent pas forcément des données (selon mes formules).
Je voudrais une macro pour selectionner uniquement la plage de cellules qui affichent un résultat.
Exemple :
Ma plage de cellule commence toujours par A1, mais selon les résultats, elle peut s'étendre à B1, B2, B3, etc, jusqu'à b35 maximum.
Si j'utilise la commande "Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select", excel selectionne la plage entière a1:b35.

Hors je veux qu'il sélectionne uniquement la plage où s'affiche les résultats.

J'ai fait des formules de c1 à c35 pour que, s'il y a des résultats en a1:b1, a2:b2, etc, s'affiche 1.
en c36 je fais la somme. Ainsi je connais le nombre de ligne exact ou s'affiche un resultat et occulte celles qui ne comporte qu'une formule.

il me reste donc à trouver une macro dans laquelle je pourrais inclure "c36" en variable.

comment faire pour inclure cette variable dans un range("a1" :b(et le resultat que j'obtient en c36).select ???

Par avance merci de votre aide.

A voir également:

1 réponse

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 27/03/2011 à 17:14
bonjour
peut etre quelque chose comme ça, en supposant que la plage est bien du type A1:Bxx
Const ligmax = 35 
Dim lig As Long 
For lig = 1 To ligmax 
  If Range("B" & lig) = "" Then 
    Exit For 
  End If 
Next lig 
Range("A1:B" & (lig - 1)).Select

bonne suite
0