Code VBA bug creation de colonnes

Bonjour a tous, j'ai écrit ce code VBA mais a chaque fois que je l'exécute cela me crée de nouvelles colonnes qui sont indésirables.

Bien a vous.

Sub Revenus()
Dim w3 As Worksheet, w4 As Worksheet
Set w3 = Sheets("Comptes_utilisateurs")
Set w4 = Sheets("Sinistres")

Dim r5 As Range, r6 As Range
Set r5 = w4.Range("H2:H32")
Set r6 = w4.Range("G2:G22")

Range("K1").Select
Selection.EntireColumn.Insert
Range("K1").Value = "Total Remboursement"

For K = 2 To 32
w3.Cells(K, 11) = Application.WorksheetFunction.SumIf(r5, w3.Cells(K, 1).Value, r6)

Next K

End Sub

Bonjour Bonouh, bonjour le forum

Range("K1").Select
Tu ne spécifies pas dans quel onglet !?... C'est donc par défaut K1 de l'onglet actif et, par conséquent, c'est aussi dans celui-ci que tu insères la colonne.

bonjour, je devrais donc mettre worksheets() de la fiche ?

merci, bien a vous.

Re,

Ben oui. À partir du moment ou tu travailles sur plusieurs onglets, tu dois toujours spécifier l'onglet (soit via un variable soit avec le nom complet) avant une Range. Ça t'évitera bien des galères...

re

j'ai essayer en mettant ceci :

Sub Revenus()
Dim w3 As Worksheet, w4 As Worksheet
Set w3 = Sheets("Comptes_utilisateurs")
Set w4 = Sheets("Sinistres")

Dim r5 As Range, r6 As Range
Set r5 = w4.Range("H2:H32")
Set r6 = w4.Range("G2:G22")

Sheets("Comptes_utilisateurs").Select
Range("K1").Select
Selection.EntireColumn.Insert
Range("K1").Value = "Total Remboursement"

For K = 2 To 31
w3.Cells(K, 11) = Application.WorksheetFunction.SumIf(r5, w3.Cells(K, 1).Value, r6)

Next K

End Sub

Mais maintenant cela me créer des colonies que dans cette feuille a chaque exécution du code.

Bien a vous.

Re,

Ben oui.... Mais tu veux les créer où ces colonnes au final !?...

Re, en faite je ne souhaite justement pas les créer il y a déjà une colonne réserver au code qui est la k.

Re,

C'est surréaliste !...

Supprime cette ligne alors :

Selection.EntireColumn.Insert
Rechercher des sujets similaires à "code vba bug creation colonnes"