Afficher le dernier nombre sur plusieurs onglets
Bonjour.
J'ai dans un tableau des chiffres qui sont soit présentés sous la forme 123 ou 123 / 456
Sur un onglet suivant j'ai le même tableau avec les chiffres qui doivent se suivre. (un onglet par semaine)
Je désire afficher dans une colonne les 3 derniers chiffres de chaque ligne en sachant que les chiffres de la semaine 02 ne doivent pas être sur l'onglet de la semaine 01. Par contre ceux de l'onglet S02 peuvent être dans l'onglet S05 s'il n'y a pas eu de mouvement dans les onglets entre le S02 et le S05
J'ai joint un exemple de ce que j'ai et ce que je voudrais.
Merci pour votre aide.
Christophe
Bonjour,
Fonction personnalisée.
Car le mélange de valeurs numériques avec des valeurs texte aurait un peu compliqué avec des formules classiques
et la recherche éventuelle dans les feuilles précédentes aurait beaucoup compliqué.
Fonction très personnalisée, pour diminuer les complications :
- la semaine est définie par le nom de la feuille, on fait d'une pierre deux coups, surtout quand on doit remonter...
- Les données occupent toujours les lignes 12 à 15 et les colonnes B à F, ça évite de doubler le volume de code avec des recherches d'emplacements différents sur les feuilles... (Enfin c'est surtout la 12 pour les jours, et pour les autres, elles doivent se correspondre d'une feuille à l'autre, on peut ajouter des lignes si on respecte les correspondances.)
Function DREFJ(Optional js As Integer = 0)
Dim nf As String, lc%, k%
Application.Volatile
nf = Application.ThisCell.Worksheet.Name
lc = Application.ThisCell.Row
Do
With Worksheets(nf)
For k = 6 To 2 Step -1
If .Cells(lc, k) <> "" Then
If js = 0 Then
If IsNumeric(.Cells(lc, k)) Then
DREFJ = .Cells(lc, k)
Else
DREFJ = CInt(Trim(Split(.Cells(lc, k), "/")(1)))
End If
ElseIf js = 1 Then
DREFJ = .Cells(12, k)
Else
DREFJ = nf
End If
Exit For
End If
Next k
If k < 2 Then
nf = Worksheets(nf).Previous.Name
Else
Exit Do
End If
End With
Loop
End FunctionC'est la même fonction qui fait tout. Sans paramètre, elle renvoie la dernière valeur. Avec le paramètre 1, elle renvoie le jour. Avec 2 elle renvoie la semaine.
Cordialement.