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 ??