Incohérence dans résultat de mes fonctions

Bonjour à tous,

Je sollicite vos connaissances en VBA car je planche sur un problème qui me rend dingue.

Ici, je souhaite simplement insérer des colonnes vides et copier/coller des cellules dans plusieurs onglets. A priori, rien de bien méchant.

En plus, j'ai une 1er onglet qu'il faut que je test car c'est le seul où je ne veux pas opérer de copie.

1er problème, ben ça copie quand même dans l'onglet que je teste...

2ème problème, c'est qu'il n'y a aucune cohérence dans la copie...Il n'y a que dans le 1er onglet que la copie fonctionne, ensuite sur les onglets suivants, ça me colle d'autres colonnes...

Voici mon code que j'ai saisi :

Sub MoisSuivant()

Dim sh As Worksheet

Dim wsSetup As Worksheet

Set wsSetup = Worksheets("Récapitulatif par fiche")

Application.ScreenUpdating = False

For Each sh In wstWorkbook.Worksheets

If sh.CodeName <> "Récapitulatif par fiche" Then

sh.Activate

Call Addition(sh)

End If

Next

Worksheets("Récapitulatif par fiche").Select

Application.ScreenUpdating = True

End Sub

Sub Addition(wst As Worksheet)

Dim wsSetup As Worksheet

Set wsSetup = Worksheets("Récapitulatif par fiche")

I = 8

Do

If wst.Cells(I, 8) > 0 Then wst.Cells(I, 13) = wst.Cells(I, 13) + wst.Cells(I, 14)

If wst.Cells(I, 9) > 0 Then wst.Cells(I, 10) = wst.Cells(I, 10) + wst.Cells(I, 11)

If wst.Cells(I, 8) > 0 Then wst.Cells(I, 14) = Null

If wst.Cells(I, 9) > 0 Then wst.Cells(I, 11) = Null

I = I + 1

Loop Until I = 150

wst.Columns("P:Q").Select

Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

wst.Columns("L:L").Select

Selection.Copy

wst.Columns("P:P").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

wst.Columns("P:P").Select

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

wst.Columns("O:O").Select

Application.CutCopyMode = False

Selection.Copy

wst.Columns("Q:Q").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

wst.Columns("Q:Q").Select

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

wst.Cells(4, 17).Value = wsSetup.Cells(23, 10).Value

Dim Mois()

Mois = Array("", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")

wst.Range("P4").Value = Mois(wst.Cells(4, 17))

wst.Cells(4, 17).Value = wsSetup.Cells(24, 10).Value

End Sub

Est-ce que quelqu'un aurait une idée de ce qui cloche ?

Pourrais tu poster le fichier, car en brut comme ça le code va être difficile à interpréter

Hum la nuit porte conseil 😁

Tout bête en fait... Encore une histoire de cellules fusionnées pour l'un et pour l'autre bah je me suis dit que dans ma fonction If j'allais tester en remplaçant le nom de l'onglet par le numéro de la feuille. Hop la !

Merci d'avoir proposé ton aide !

D ou l intérêt de poster le fichier... On aurait pu chercher un moment

C'est vrai

Comment on passe le sujet en résolu ??

Rechercher des sujets similaires à "incoherence resultat mes fonctions"