Bonjour,
J'ai besoin d'aide, cela fait 3 jours que je tourne en rond pour la résolution de mon problème.
Si de bonnes âmes m'accordaient un peu d'attention, j'en serais ravie et je les en remercie par avance.
J'ai élaboré un fichier avec une macro pour la mise à jour d'un onglet de synthèse à partir d'onglet du même classeur.
Il y a des numéros d'action identiques dans les différents onglets (incrémentation de 1 à x) ; or pour différencier dans la feuille de synthèse les numéros d'action des différents onglets, j'en crée un avec la macro qui associe le numéro affecté à un onglet + " - " + le numéro de l'action.
Les résultats sont corrects pour certains provenant de certains onglets mais pas pour d'autres : il y a une mise en format de date personnalisée qui s'applique. J'ai essayé de contourner le problème avec une ligne de script supplémentaire mais en vain.
Évidemment, j'ai vérifié les formats (en standard) dans tous les onglets.
Voici la macro :
Option Explicit
Sub update()
Dim number As Integer, Start As Long, cellule As Range, plage As Range, nb As Integer, ws1 As Worksheet, dl1 As Integer, i As Integer, ws As Worksheet, dl As Long
nb = Sheets.Count
Set ws1 = Sheets("Plan d'action")
dl1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws1.Range("A10:P" & dl1).ClearContents
For i = nb To 2 Step -1
dl1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row + 1
Set ws = Sheets(i)
dl = ws.Cells(Rows.Count, 1).End(xlUp).Row
ws.Range("A10", "P" & dl).Copy Destination:=ws1.Cells(dl1, 1)
Next i
dl1 = ws1.Range("A" & Rows.Count).End(xlUp).Row
Range("A10:A" & dl1).Copy Destination:=Range("AA10")
ws1.Range("AA10:A" & dl1).NumberFormat = "General"
Start = 10
Set plage = ws1.Range("C" & Start & ":C" & dl1)
For Each cellule In plage
Select Case cellule
Case "A"
number = 9
Case "B"
number = 2
Case "E"
numero = 6
Case "F"
number = 10
Case "G"
number = 11
Case "H"
number= 12
Case "I"
number = 13
Case "J"
number = 14
Case "L"
number = 1
Case "M"
number = 15
Case "N"
number = 3
Case "O"
number = 16
Case "P"
number = 17
Case "Q"
number = 18
Case "R"
number = 19
Case "S"
number = 20
Case "T"
number = 21
Case "U"
number = 22
Case "V"
nunumber = 8
Case "W"
number = 23
Case "X"
number = 7
Case "Y"
number = 24
Case "Z"
number= 45
Case "K"
number = 25
Case "Transverse"
number = 0
End Select
Cells(Start, 1) = numero & " - " & Cells(Start, 27).Value
Start = Start + 1
Next cellule
Columns("AA:AA").Delete
Columns("AA:AA").Insert
MsgBox "Mise à jour effectuée"
End Sub
Le bon résultat donne par exemple "0 - 2" et les mauvais résultats donnent sept.-43 ou 28-janv.
Pour info, le fichier comporte des mises en forme conditionnelles de 3 couleurs
Je peux joindre le fichier en message personnel pour ceux ou celles qui veulent m'aider.
Merci encore !