[VBA] erreur tableau filtré

Hello

qui serait en mesure de m'orienter dans ma recherche de solutions

VBA erreur 1404 désolé nous ne pouvons pas déplacer les cellules ou une plage dans un tableau filtré

Mon code copie des données dans des tableaux nommés se trouvant sur plusieurs feuilles différentes. Mais pour l'un de ces tableaux et un seul uniquement je suis devant cette erreur.

J'ai désactivé l'ensemble des filtres présents sur ce tableau... en vain

Bonsoir,

la copie des données se fait comment sur les tableaux ? Exemple, si vous mettez un objet "oublié" sur la dernière ligne d'une feuille et que vous voulez faire une insertion de ligne en haut de la feuille, il y aura erreur car Excel ne pourra pas faire sortir l'objet de la feuille suite à l'insertion...

Il faudrait voir votre fichier pour répondre.

@ bientôt

LouReeD

bonjour LouReeD, Sitting_bull,

votre feuille est protégée ? Pouvez-vous nous montrer la partie en VBA qui cause l'erreur.

Bonjour à tous les deux,

Private Sub addhosting_Click()
Dim i As Long
Dim Ligne_inser
If Me.sublan24 = "" Then

Else

            'dans SUBNET PROD

            With TS_lan
            i = Application.Match(Me.sublan24, .ListColumns("Subnet IP").DataBodyRange, 0)
            .ListColumns("Designation").DataBodyRange(i) = Me.descriplan
            .ListColumns("VLAN").DataBodyRange(i) = Val(Me.vlanlan)
            .ListColumns("Commentaire").DataBodyRange(i) = Me.commfinal3
            End With

'DANS SPINE L3

            With TS_spine
                Set Ligne_inser = .ListRows.Add: i = Ligne_inser.index
                .DataBodyRange(i, "A") = Me.vrflan
                .DataBodyRange(i, "B") = "V" & Me.vrflan
                .DataBodyRange(i, "C") = Me.vpninst
                .DataBodyRange(i, "D") = "V" & Me.vrflan & "-" & Me.vpninst
                .DataBodyRange(i, "E") = Me.commfinal3
                .DataBodyRange(i, "F") = "=CONCAT(1000+[@[vpn-instance]],"":1"")"
                .DataBodyRange(i, "G") = "Compute sans SNAT (LB en GW)"
                .DataBodyRange(i, "H") = Me.sublan24
                .DataBodyRange(i, "I") = "=IF([@[sous-réseau Compute]]="""","""",@IpSubnetLen([@[sous-réseau Compute]]))"
                .DataBodyRange(i, "J") = ""
                .DataBodyRange(i, "K") = Me.descriplan
                .DataBodyRange(i, "L") = ""
                .DataBodyRange(i, "M") = Me.vlanlan
                .DataBodyRange(i, "N") = "0" & Me.vlanlan
                .DataBodyRange(i, "O") = Me.descriplan
                .DataBodyRange(i, "P") = ""
                .DataBodyRange(i, "Q") = ""
                .DataBodyRange(i, "R") = ""
                ip = Me.sublan24
                .DataBodyRange(i, "S") = ""
                .DataBodyRange(i, "T") = ""
                .DataBodyRange(i, "U") = ""
                .DataBodyRange(i, "V") = IpAdd(ip, IpSubnetSize(ip) - 8)
                .DataBodyRange(i, "W") = IpAdd(ip, IpSubnetSize(ip) - 7)
                .DataBodyRange(i, "X") = IpAdd(ip, IpSubnetSize(ip) - 6)
                .DataBodyRange(i, "Y") = IpAdd(ip, IpSubnetSize(ip) - 5)
                .DataBodyRange(i, "Z") = "=INDEX(interco_FWP[1ère '@IP],MATCH(CONCAT([@[vpn-instance2]],""-FWP*""),interco_FWP[Designation],0))"
                .DataBodyRange(i, "AA") = "=CONCATENATE(""ip route-static vpn-instance "",[@[vpn-instance4]],"" 0.0.0.0 0 "",[@[IP FW]],"" description FWP"")"
                .DataBodyRange(i, "AB") = "=IFERROR(LEFT(VLOOKUP(CONCATENATE([@[vpn-instance2]],""-VIP""),VIP_LB[#Data],2,FALSE),LEN(VLOOKUP(CONCATENATE([@[vpn-instance2]],""-VIP""),VIP_LB[#Data],2,FALSE))-3),"""")"
                .DataBodyRange(i, "AC") = "=IFERROR(RIGHT(VLOOKUP(CONCATENATE([@[vpn-instance2]],""-VIP""),VIP_LB[#Data],2,FALSE),2),"""")"
                .DataBodyRange(i, "AD") = "=IFERROR(VLOOKUP(CONCAT([@[vpn-instance2]],""-LBI*""),interco_LBI[#Data],3,FALSE),"""")"
                .DataBodyRange(i, "AE") = "=IF([@[S/R VIP]]="""","""",CONCATENATE(""ip route-static vpn-instance "",[@[vpn-instance4]],"" "",[@[S/R VIP]],"" "",[@[Masque VIP]],"" "",[@[IP LB]],"" description LBI""))"
                .DataBodyRange(i, "AF").FormulaLocal = "=SIERREUR(GAUCHE(RECHERCHEV(CONCATENER([@[vpn-instance2]];""-VIP-02"");VIP_LB[#Données];2;FAUX);NBCAR(RECHERCHEV(CONCATENER([@[vpn-instance2]];""-VIP-02"");VIP_LB[#Données];2;FAUX))-3);"""")"
                .DataBodyRange(i, "AG").FormulaLocal = "=SIERREUR(DROITE(RECHERCHEV(CONCATENER([@[vpn-instance2]];""-VIP-02"");VIP_LB[#Données];2;FAUX);2);"""")"
                .DataBodyRange(i, "AH").FormulaLocal = "=SIERREUR(RECHERCHEV(CONCAT([@[vpn-instance2]];""-LBI*"");interco_LBI[#Données];3;FAUX);"""")"
                .DataBodyRange(i, "AI").FormulaLocal = "=SI([@[S/R VIP]]="""";"""";CONCATENER(""ip route-static vpn-instance "";[@[vpn-instance4]];"" "";[@[S/R VIP secondaire]];"" "";[@[Masque VIP secondaire]];"" "";[@[IP LB]];"" description LBH""))"
                .DataBodyRange(i, "AJ").FormulaLocal = "=CONCAT(""ip route-static vpn-instance "";[@[vpn-instance4]];"" "";@IpWithoutMask([@[sous-réseau Compute]]);"" "";[@Masque];"" "";[@[IP LB VIP secondaire]];"" description LBH"")"

                .DataBodyRange(i, "AU") = "=CONCAT(""Z_"",[@[vpn-instance4]])"
                End With

'DANS L2

            With TS_L2
                Set Ligne_inser = .ListRows.Add: i = Ligne_inser.index
                .DataBodyRange(i, "A") = "0" & Me.vlanlan
                .DataBodyRange(i, "B") = Me.descriplan
                .DataBodyRange(i, "C") = "Compute sans SNAT (LB en GW)"
                .DataBodyRange(i, "D") = "oui"
                .DataBodyRange(i, "E") = "oui"
                .DataBodyRange(i, "F") = "non"
                .DataBodyRange(i, "G") = "oui"
                .DataBodyRange(i, "H") = "non"
                .DataBodyRange(i, "I") = "oui"
            End With
'DANS ORION

            With TS_orion
                Set Ligne_inser = .ListRows.Add: i = Ligne_inser.index
                .DataBodyRange(i, "A") = "0" & Me.vlanlan
                .DataBodyRange(i, "C") = "0" & Me.vlanlan
                .DataBodyRange(i, "D") = "0" & Me.vlanlan
                .DataBodyRange(i, "E") = "0" & Me.vlanlan
                .DataBodyRange(i, "B") = Me.descriplan
                .DataBodyRange(i, "F") = Me.descriplan
                .DataBodyRange(i, "G") = "Compute sans SNAT (LB en GW)"
                 .DataBodyRange(i, "H") = "BAGG10"
                .DataBodyRange(i, "I") = "BAGG10"
                .DataBodyRange(i, "J") = ""
                .DataBodyRange(i, "K") = ""

            End With

'DANS LB

With TS_lb
        Set Ligne_inser = .ListRows.Add: i = Ligne_inser.index
      Dim selfip1 As String
                Dim selfip2 As String
                Dim floating As String
                Dim gateway As String
                Dim masque As String
                Dim snat1 As String
                Dim snat2 As String

                ip = Me.sublan24

                .DataBodyRange(i, "A") = "V" & Me.vrflan & "-" & Me.vpninst
                .DataBodyRange(i, "C") = "V" & Me.vrflan & "-" & Me.vpninst
                .DataBodyRange(i, "D") = Me.descriplan
                .DataBodyRange(i, "E") = Me.vlanlan

                'valeur calculer à partir de fonction ip

                selfip1 = IpAdd(ip, 2)
                selfip2 = IpAdd(ip, 3)
                floating = IpAdd(ip, 1)
                masque = IpSubnetLen(ip)
                gateway = IpAdd(ip, IpSubnetSize(ip) - 2)
                snat1 = IpAdd(ip, 4)
                snat2 = IpAdd(ip, 5)

                .DataBodyRange(i, "I") = gateway

                .DataBodyRange(i, "J") = gateway
                .DataBodyRange(i, "F") = masque
                .DataBodyRange(i, "K") = ""
                .DataBodyRange(i, "L") = ""
                .DataBodyRange(i, "M") = ""
                .DataBodyRange(i, "G") = selfip2
                .DataBodyRange(i, "H") = selfip1
     End With

ci-dessus une partie du code

la partie qui pose souci est l'écriture dans le TS_L2 dès le set ligne_inser

Si je mets cet ensemble en commentaire la suite de mon code fonctionne.

Je trouve cela étrange.

Je pencherai pour un problème lié à la structure du tableau (ce code fonctionnait bien il y a qqs jours, mais étant un fichier partagé je me demande si une action par une tierse personne sur la structure n'a pas pu m'amener à cette erreur

ce n'est pas un problème de code VBA, mais un problème Excel. Si je tente de copier des données et de les copier j'ai le même message sous excel :-(

Donc un problème directement dans la structure de mon tableau

Edit:bon et bien surprise!! Il s'agit en fait d'un filtre sur un autre tableau de la feuille (tableau qui n'est pas impacté par le code) qui me donnait cette erreur.

Je vais ajouter un morceau de code pour supprimer tous les filtres actifs de la feuille ce qui évitera ce genre de soucis à l'avenir

Bonsoir,

merci pour ce retour, cela servira certainement à d'autre ! Quelque fois les choses les plus simple nous passent sous les yeux !

@ bientôt

LouReeD

Rechercher des sujets similaires à "vba erreur tableau filtre"