Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sélection multiple sous condition par macro

  • Initiateur de la discussion Initiateur de la discussion gourdin
  • 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 !

gourdin

XLDnaute Impliqué
Bonjour,

Je souhaite qu'une macro sélectionne uniquement les tableaux dont une cellule particulière n'est pas vide.

Voir exemple simplifié en fichier joint.

Merci.
 

Pièces jointes

Re : Sélection multiple sous condition par macro

Bonsoir gourdin,

Voici une macro, qui devrait répondre à tes attentes :
VB:
Sub poub()
'
' poub Macro
'
'
    Dim SelTab As String, i As Integer
    SelTab = ""
    For i = 1 To 30
        If Range("B" & (i * 8) - 2) <> "" Then
            If SelTab <> "" Then
                SelTab = SelTab & ", " & "B" & (i * 8) - 2 & ":D" & i * 8 + 1
            Else
                SelTab = "B" & (i * 8) - 2 & ":D" & i * 8 + 1
            End If
        End If
    Next
    Range(SelTab).Select
End Sub

A+
 
Re : Sélection multiple sous condition par macro

Merci Fredo

Je viens d'essayer et voici mes remarques :

1. lorsque toutes les 2e cellules de la 1ère colonne sont vides et donc qu'il y a aucun tableau à sélectionner par la macro apparaît un message pour un débogage.

2. La macro ne sélectionne pas la 1ère ligne des tableaux concernés mais sélectionne à partir de la 2è ligne.

Voir fichier joint avec la macro incluse.
 

Pièces jointes

Re : Sélection multiple sous condition par macro

Re-bonsoir,

Voici les corrections :
VB:
Sub poub()
'
' poub Macro
'
'
    Dim SelTab As String, i As Integer
    SelTab = ""
    For i = 1 To 30
        If Range("B" & (i * 8) - 2) <> "" Then
            If SelTab <> "" Then
                SelTab = SelTab & ", " & "B" & (i * 8) - 2 & ":D" & i * 8 + 1
            Else
                SelTab = "B" & (i * 8) - 3 & ":D" & i * 8 + 1
            End If
        End If
    Next
    If SelTab <> "" Then Range(SelTab).Select
End Sub

Si tu n'arrives même pas à corriger ces petites adaptations, je ne sais pas comment tu vas assurer la maintenance d ela macro...

A+
 
Re : Sélection multiple sous condition par macro

Encore Merci Fredo

En effet mon niveau ne me permet pas de comprendre certains codes proposés mais ne t'inquiète pas je vais me débrouiller et par déduction je vais l'adapter, je l'espère, à mon fichier d'origine.

Bonne soirée.
 
Re : Sélection multiple sous condition par macro

bonsoir,

Une autre version :

Code:
Sub poub2()
Dim I As Long
Dim Plg As Range, Plg2 As Range
For I = 5 To 29 Step 8
    Set Plg = Cells(I, 2).Resize(5, 3)
    If IsEmpty(Plg(4)) Then
        If Not IsArray(Plg2) Then
            Set Plg2 = Plg
        Else
            Set Plg2 = Union(Plg2, Plg)
        End If
    End If
Next I
Plg2.Select
End Sub

Bon courage
 
Re : Sélection multiple sous condition par macro

Merci bhbh

Mais après avoir testé ta macro celle ci fait l'inverse à savoir qu'elle sélectionne les tableaux lorsque que la 2e cellule de la 1e colonne de chaque tableau est VIDE alors qu'il faut qu'elle sélectionne les tableaux lorsque cette cellule n'est PAS VIDE.
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 Remplissage auto
Réponses
14
Affichages
371
Réponses
7
Affichages
681
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…