VBA erreur 438

Fermé
tetro14 Messages postés 8 Date d'inscription lundi 8 août 2016 Statut Membre Dernière intervention 15 août 2016 - 8 août 2016 à 14:54
tetro14 Messages postés 8 Date d'inscription lundi 8 août 2016 Statut Membre Dernière intervention 15 août 2016 - 8 août 2016 à 16:24
Bonjour, j'ai tenté de créer le code ci-dessous afin d'inséré une colonne entre chaque colonne contenant une donnée dans la colonne en question, mon code me semble logique mais une erreur 438 apparaît toujours. voici mon code :
Dim c As Integer

Do Until Cells(4, c + 1) = ""
c = 2

If Cells(4, c) <> "" Then
Columns.Selection.Insert Shift:=xlToRight
c = c + 1
End If
Loop

l'erreur m’apparaît a la ligne en italique, merci de votre aide

3 réponses

Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
8 août 2016 à 15:04
Salut,

Erreur 438 : Propriété ou méthode non géré par cet objet

Essaye ça

As-tu essayé de taper Columns. puis d'appuyer sur la barre espace pour vérifier que Selection fait bien partis de l'objet Columns et ainsi de suite?
0
tetro14 Messages postés 8 Date d'inscription lundi 8 août 2016 Statut Membre Dernière intervention 15 août 2016
8 août 2016 à 15:22
lorsque je fait ceci les 2 reviennent se coller ensemble, est-ce le résultat désiré ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
8 août 2016 à 15:20
Bonjour a vous deux

Pour utiliser .selection, il faut qu'il y ait eu selection avant !!!!

Sub tets()
    c = 2
    Do Until Cells(4, c) = ""
        If Cells(4, c) <> "" Then
            Columns(c).Insert Shift:=xlToRight
            c = c + 1
        End If
        c = c + 1
    Loop
End Sub
0
tetro14 Messages postés 8 Date d'inscription lundi 8 août 2016 Statut Membre Dernière intervention 15 août 2016
8 août 2016 à 16:24
cela fonctionne parfaitement merci
0
tetro14 Messages postés 8 Date d'inscription lundi 8 août 2016 Statut Membre Dernière intervention 15 août 2016
8 août 2016 à 15:21
j'ai modifié la ligne :

Columns.Selection.Insert Shift:=xlToRight

pour :

Columns.Select.Insert Shift:=xlToRight


et maintenant j'obtient l'erreur 1004
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
8 août 2016 à 15:22
Bonjour,

lisez ce post f894009 8 août 2016 à 15:20 juste au dessus de votre dernier post
0
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
8 août 2016 à 15:27
Erreur 1004 c'est une erreur d'objet, tu ne lui donne pas ce qu'il attend.
0