• Initiateur de la discussion Initiateur de la discussion poipoi59
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

poipoi59

Guest
Bonjour,

J'ai une feuille de calcul avec un tri de cellules fait par macro.

J'aimerais ajouter une macro qui permet de selectionner une plage de cellules uniquement si les cellules sont non vides ET différentes de "".


Merci pour votre aide
 
Re : selection cellules

Re,

Mais non, je n'aurais pas dû annuler mon 1er post.

Le code proposé par wilfried sélectionne uniquement les constantes, y compris les textes vides "". Et les cellules avec des formules ne sont pas sélectionnées.

Voici donc une autre solution qui dans la plage nommée plage (menu Insertion-Nom) sélectionne les cellules non vides et différentes de "" :

Code:
Sub CellulesPleines()
Dim plein As Range, cel As Range
Set plein = [plage].Find("*", LookIn:=xlValues)
If plein Is Nothing Then MsgBox "Plage vide": Exit Sub
For Each cel In [plage]
If cel <> "" Then Set plein = Union(cel, plein)
Next
plein.Select
End Sub

A+
 
Re : selection cellules

re:

bonjour job

il est vrai que j'ai omis les formules, mais venant de faire l'essai en mettant Range("B4") = "", la cellule n'est pas selectionnée donc c'est ok il reste les formules s'il y en a
voici avec les résultats de formules
Code:
Sub sel_plage()
    Dim plage As Range, frm As Range, c As Range
    Set plage = Range("A:E")
    Set frm = plage.Cells.SpecialCells(xlCellTypeFormulas)
    Set plage = plage.Cells.SpecialCells(xlCellTypeConstants)
    For Each c In frm
        If c.Text > "" Then Set plage = Application.Union(plage, c)
    Next
    plage.Select
End Sub
si tu n'as pas de formule, le code reste :
Code:
range("A:E").Cells.SpecialCells(xlCellTypeConstants).select
 
Re : selection cellules

re:

bonjour job

il est vrai que j'ai omis les formules, mais venant de faire l'essai en mettant Range("B4") = "", la cellule n'est pas selectionnée donc c'est ok il reste les formules s'il y en a
voici avec les résultats de formules
Code:
Sub sel_plage()
    Dim plage As Range, frm As Range, c As Range
    Set plage = Range("A:E")
    Set frm = plage.Cells.SpecialCells(xlCellTypeFormulas)
    Set plage = plage.Cells.SpecialCells(xlCellTypeConstants)
    For Each c In frm
        If c.Text > "" Then Set plage = Application.Union(plage, c)
    Next
    plage.Select
End Sub
si tu n'as pas de formule, le code reste :
Code:
range("A:E").Cells.SpecialCells(xlCellTypeConstants).select



Bonjour,

Merci ça marche nickel, par contre qu'il ne sélectionne les cellules vides et différentes de "" qu'à compter de la 3ème ligne

Est-ce possible ?

Merci de mettre à disposition vos connaissances

poipoi59
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
186
Réponses
9
Affichages
272
Réponses
9
Affichages
511
Retour