Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Format de cellule personnalisé et macro

  • Initiateur de la discussion Initiateur de la discussion degap05
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

degap05

XLDnaute Impliqué
Bonjour,

Dans le classeur joint, j'utilise un format de cellule personnalisé:

"2009-"0"" et une macro qui permet d'attribuer un numéro d'ordre.

Cette méthode demande à réactualiser le format personnalisé en début d'année.

Quelle serait la solution pour que le changement d'année se fasse automatiquement ?

Merci de votre aide.
 

Pièces jointes

Re : Format de cellule personnalisé et macro

Bonjour,

Veux-tu essayer ce code en remplacement de ce qu'il existe dans le Feuil1(Nominatif) :

Code:
Private Sub CommandButton1_Click()
  Dim derlig As Long
  Application.ScreenUpdating = True
  With Sheets("Ordonnancier")
    derlig = .Range("G65500").End(xlUp).Row + 1
    .Cells(derlig, 7).value = Year(Date) & "-" & derlig - 1
  End With
  Call NumérotationDisp.Traitement
End Sub
 
Re : Format de cellule personnalisé et macro

Re-bonjour,

Sur une autre de mes feuilles, serait-il possible d'envoyer le même paramétrage pour une cellule désignée, ci-joint un extrait de la macro:

With Sheets("Nominatif")
derlig = .Range("A65500").End(xlUp).Row + 1
.Range("E2").Value = Cells(Lig, 5).Value
End With

De manière que E2 qui reçoit un nombre (ex 25) l'affiche en 2009-25 (Year(Date) & "-" )

Merci
 
Dernière édition:
Re : Format de cellule personnalisé et macro

Bonjour à tous, Pierrot93 et Raja,

Je reviens vers vous, car la macro proposée par Raja ne se comporte pas comme je le souhaiterais.

En effet elle ne prend pas en compte la valeur de la dernière ligne.

J'ai essayé de combiner les deux macros (celle d'origine et celle de Raja), mais je n'arrive à rien.

Macro d'origine = bouton 1
Macro Raja = bouton 2

Le but est de ne pas utiliser de format personnalisé dans la feuille.

Avec votre aide.
Merci.
 

Pièces jointes

Dernière édition:
Re : Format de cellule personnalisé et macro

Bonjour pierrejean,

Je me suis empressé de tester, cela fonctionne très bien dans le fichier exemple.
Quant à incorporer ce code dans la macro de mon fichier de travail...........résultat non conforme.

Private Sub CommandButton1_Click()
Dim derlig, num1 As Long
Dim C As Range, Plage As Range
Application.ScreenUpdating = True
With ActiveSheet
Range("B15").Value = ComboBox1.Text
Range("B4").Value = ComboBox2.Text
Range("B7").Value = ComboBox3.Text
Range("B5").Value = ComboBox4.Text
Range("B6").Value = CDate(TextBox1.Text)
Range("B11").Value = TextBox5.Text
Range("B9").Value = TextBox6.Text
End With
'remplissage de l'ordonnancier pour mise en dotation
With Sheets("Ordonnancier")
derlig = .Range("A65500").End(xlUp).Row + 1
.Cells(derlig, 1).Value = Range("A2").Value
.Cells(derlig, 2).Value = Range("B4").Value
.Cells(derlig, 8).Value = Range("B5").Value
.Cells(derlig, 3).Value = Range("B7").Value
.Cells(derlig, 4).Value = Range("B10").Value
.Cells(derlig, 5).Value = Range("B15").Value
.Cells(derlig, 6).Value = Range("B6").Value
----------------------------------------------------------
Ta macro. Je l'ai positionnée à cet endroit et le numéro généré s'inscrit sur la feuille active au lieu de la feuille "Ordonnancier" (colonne "H")

---------------------------------------------------------
End With
Call NumérotationDot.Traitement
Unload Me
Application.ScreenUpdating = False
End Sub

A+
 
Re : Format de cellule personnalisé et macro

A tester

Code:
Dim x As Integer
................
................
[COLOR=blue].Cells(derlig1, 6).Value = Range("B6").Value
[/COLOR]
Set derno = [COLOR=red].[/COLOR]Range("[COLOR=red]H[/COLOR]65536").End(xlUp)
If derno.Row = 1 Then
 derno.Offset(1, 0) = Year(Date) & "-1"
 Exit Sub
End If
If CInt(Left(derno.value, 4)) <> Year(Date) Then
 derno.Offset(1, 0) = Year(Date) & "-" & "1"
Else
 x = CInt(Split(derno.value, "-")(1)) + 1
 derno.Offset(1, 0) = Year(Date) & "-" & x
End If
 
[COLOR=blue]End With
[/COLOR]
.....................
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
99
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…