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

Erreur 438 sur déclaration de plage de range

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

deniooo

XLDnaute Occasionnel
Bonjour,
Voilà j'ai cette erreur :

Erreur d'execution '438'
"Propriété ou méthode non gérée par cette objet"

à ce point de mon code (simple au demeurant) :

nom = ActiveWorkbook.Name
Set plage = Application.Workbook(nom).Worksheets("Feuil1").UsedRange.Columns(colonne).cells

La variable colonne est renvoyée par une inbox.

Je ne comprends pas d'où celà peut venir..
la suite du code où plage est utilisée :

For Each cel In plage
i = i + 1
If (cells(i, numCol).Value <> "") Then
n = n + 1
cells(i, numCol).Value = ""
ListeMOE (cells(i, numCol))
End If
Next

Je ne vois pas l'erreur de type d'objets.. Quelqu'un peut m'éclairer?!
 
Re : Erreur 438 sur déclaration de plage de range

Bonjour Denio,

Application.Workbook(nom).Worksheets("Feuil1").Use dRange.Columns(colonne).cells

Cela peut provenir de n'importe quelle variable de cette ligne: nom ou colonne à moins que "Feuil1" n'existe plus.

Je te suggère de mettre un point d'arrêt (F9) sur la ligne précédente et de vérifier toutes tes variable en affichant la fenêtre Variable (menu affichage de l'ide)

oups: j'avais vu le ligne Nom=ActiveWorkbook.name qui retourne forcément le bon nom.
A bientôt
 
Dernière modification par un modérateur:
Re : Erreur 438 sur déclaration de plage de range

Bonjour Denio

modifies peut être le début de ton code comme suit :

Code:
Dim nom As String, plage As Range
nom = ActiveWorkbook.Name
Set plage = Workbooks(nom).Worksheets("Feuil1").UsedRange

mais je ne vois pas trop ce que tu cherches à définir.

bon après midi
@+

Edition : bonjour Hasco
 
Re : Erreur 438 sur déclaration de plage de range

Je chercher à déclarer une plage de cellules d'une colonne précise afin de la parcourir et do faire des bidouilles dedans sans avoir à déclarer un range d'une taille X,Y alors que je ne connais pas la composition de mes colonnes.

L'erreur précédente est à une mauvaise syntaxe "workbook" -> "workbookS"..
Bref erreur corrigée mais là j'en ai une nouvelle :
Erreur 9 : "L'indice n'appartient pas à la sélection"

je met le code complet qui est utile :

Code:
Sub Testing()
    parcoursColonnes ("A")
    
End Sub

Function parcoursColonnes(ByVal colonne As String)

    Dim plage As Range
    Dim cel As Range
    Dim n As Long
    i = 2
    
    numCol = Columns(colonne).Column
    'henry = Columns("A").cells.Count
    'bernard = Application.Sheets(1).UsedRange.Rows.Count
    nom = ActiveWorkbook.Name
    
    
    'Set plage = Application.Sheets(1).Range("C1:C12")
    
    Set plage = Application.Workbooks(nom).Worksheets("Feuil1").UsedRange.Columns("A").cells
    n = 0
     
    For Each cel In plage
        i = i + 1
        If (cells(i, numCol).Value <> "") Then
            n = n + 1
            cells(i, numCol).Value = ""
            ListeMOE (cells(i, numCol))
        End If
    Next
    parcoursColonnes = i
    
End Function

Function ListeMOE(ByVal cel As Range)
    listeval = "DSI, RES, DSI&RES, BULL, DSI&BULL, Diginext, Autre"
    cel.Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=listeval

    End With
End Function
 
Re : Erreur 438 sur déclaration de plage de range

Set plage = Application.Workbooks(nom).Worksheets("Feuil1").UsedRange.Columns("A").cells

Transformation en :

Set plage = Application.Workbooks(nom).Sheets(1).UsedRange.Columns("A").cells


Probléme résolu 😀
(je n'avais pas de "Feuil1"..)
 
- 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

Réponses
9
Affichages
580
Réponses
3
Affichages
829
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…