Sélection d'une plage nommée

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 !

sebgosse

XLDnaute Nouveau
Bonjour,

Je cherche le moyen de parcourir une plage nommée en VBA

Code:
Set plage = Range("projets")
For Each cellule In plage
        If ActiveCell.Value = Target.Value Then
        Range(Cellulecible).Value = "oui"
        End If
Next cellule

Apparemment ca plante dans Set plage = Range("projets")

La plage est située dans une autre feuille

merci
 
Re : Sélection d'une plage nommée

Bonjour Sebgosse,

1 -Si ta plage est dans une autre feuille:

Code:
Set Plage= Sheets("NomDeLaFeuille").Range("Projets")
2 - Dans la boucle for

Code:
For Each cellule In plage
        If ActiveCell.Value = Target.Value Then
        Range(Cellulecible).Value = "oui"
        End If
Next cellule
Si cellule représente une cellule de la plage et que tu ne la traite pas, ne serait-ce que pour y faire référence dans la boucle alors celle-ci ne sert à rien.

A+
 
Re : Sélection d'une plage nommée

Bonjour à tous, sebgosse, Hasco



Si j'ai bien compris la question
Code:
[font=Courier New][color=darkblue]Sub[/color] test()
[color=darkblue]Set[/color] Plage = Range("projets")
[color=darkblue]For[/color] i = 1 [color=darkblue]To[/color] Plage.Rows.Count
Cells(i, 2) = IIf(Cells(i, 1) = Plage(i), "oui", vbNullString)
[color=darkblue]Next[/color][/font]
 
Re : Sélection d'une plage nommée

Code:
Set Plage= Sheets("NomDeLaFeuille").Range("Projets")

ok merci

2 - Donc ca donnerait plutot ceci ? où target.value est la cellule active qui est vérifiée .

Code:
For Each cellule In plage
        If cellule.Value = Target.Value Then
        Range(Cellulecible).Value = "oui"
        End If
Next cellule
[/QUOTE]
 
Re : Sélection d'une plage nommée

Re,
Hello Staple🙂

A priori oui, mais comme je ne suis pas madame Irma pour deviner quelle cellule représente quoi? Pas sûr.....

Un fichier exemple serait plus facile à traiter.

A+
 
Re : Sélection d'une plage nommée

Je vous envoie le fichier en pj

En fait le but est d'affecter une valeur à la première colonne (Pour simplifier j'ai fait une liste de validation) et la macro vérifie la présence de cette valeur dans la plage nommée projets de la feuille 2.
Si elle est présente, la cellule de la colonne G de la ligne correspondant passe à "Oui" sinon elle est vide.
Je suis débutant en vba et je suppose que mon code laisse à désirer.
merci pour votre aide
 

Pièces jointes

Re : Sélection d'une plage nommée

Re Seb,

ton code est très bien, très clair.
Toutes les variables ne sont pas forcément necessaires mais elle permettent la vérification en phase de test.

Il manquait juste le mot clef devant plage:
Ce mot clef sert à définir toute les variables référençant un objet. Ici un objet Range.

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim Colonnepatrimoine As String
    Colonnepatrimoine = "G"
    If Target.Column = 1 Then
        Dim numligne As Integer
        Dim Celluleaverifier As String
        Dim Cellulepatrimoine As String
        Dim plage As Range
        numligne = Target.Row
        Cellulepatrimoine = Colonnepatrimoine & numligne
        'Definition de la plage des types de documents patrimoniaux
        [SIZE=3][COLOR=red]Set[/COLOR][/SIZE] plage = Sheets("Feuil2").Range("projets")
        'Boucle qui verifie si la valeur de la cellule target se trouve
        'dans la plage nommée projets et qui affecte la valeur oui à la
        'colonne G correspondante
        For Each Cell In plage.Cells
            If Target.Value = Cell.Value Then
                Range(Cellulepatrimoine).Value = "oui"
            End If
        Next
    End If
End Sub

A+
 
- 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 worksheet_change
Réponses
29
Affichages
353
Réponses
4
Affichages
111
Retour