masquer ou deleter une plage de cellules

ctsblv

XLDnaute Nouveau
Bonjour à tous
Depuis qq jours je galère et je ne trouve pas la solution malgré de nombreuses reherches sur le forum.
J'ai un fic dans lequel je veux supprimer une plage de cellules .
Par macro c'est ok ,mais à chaque nouvelle compétition je dois la modifier car le nombre de tireurs par catégorie est variable.

En VBA (pas doué) j'ai fait qq tests mais je masque ou delete toute la ligne si T(n°ligne) n'a pas de données et ça me supprime les données après la colonne AE (partie classement par équipe).
voilà ce que je voudrais tester:

dans la plage R4:AE150 , SI la cellule T(n° de ligne), qui contient une formule, est vide ,cacher ou supprimer les colonnes R(n°ligne) à AE(n°ligne) .
Est ce possible ?
Sinon
Copier les cellules R(n°ligne):AE(n°ligne) si T(n°ligne) est different de blanc
dans un autre onglet du classeur.
J'espère avoir été clair .Je joint une partie du fichier.
Merci
 

Pièces jointes

  • supvid.zip
    27.1 KB · Affichages: 47
  • supvid.zip
    27.1 KB · Affichages: 43
  • supvid.zip
    27.1 KB · Affichages: 38

soenda

XLDnaute Accro
Re : masquer ou deleter une plage de cellules

Bonsoir le fil, ctsblv

Le brin suivant efface les lignes entre les colonnes [R:AE]
si la formule de la cellule [T] de même ligne ne renvoie rien
Code:
Sub b()
    Dim p As Range, c As Range
    Dim L As Integer
 
    L = [T65536].End(xlUp).Row [COLOR=green][B]' dernière ligne non vide de la colonne T[/B][/COLOR]
    Set p = [T1].Offset(L) [B][COLOR=green]' initialise l'Union avec la cellule vide (L + 1)[/COLOR][/B] 
 
    For Each c In Range("T4").Resize(L - 3) [COLOR=green][B]' 1 ère cellule T4 => (L - 3)[/B][/COLOR]
        If c.Value = "" Then Set p = Union(p, c) [B][COLOR=green]' Ajoute la cellule si vide[/COLOR][/B]
    Next
 
    Intersect([R:AE], p.EntireRow).Delete [B][COLOR=green]' Effacement[/COLOR][/B]
End Sub
A plus
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 188
dernier inscrit
evebar