Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
ERREUR EXECUTION '13' : icompatibilité de type. ou ERR '28' : espace pile insufisant
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 !
Re : ERREUR EXECUTION '13' : icompatibilité de type. ou ERR '28' : espace pile insufi
Bonjour,
essaye peut être comme suit :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B4:B145")) Is Nothing Then
Target = DateSerial(Cells(1, Target.Column), Month(Target), Day(Target))
End If
End Sub
Re : ERREUR EXECUTION '13' : icompatibilité de type. ou ERR '28' : espace pile insufi
Re,
A noter, si ce code doit s'appliquer à toutes les feuilles de ton classeur tu peux le placer une seule fois comme ceci, dans le module "thisworkbook" :
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B4:B145")) Is Nothing Then
Target = DateSerial(Cells(1, Target.Column), Month(Target), Day(Target))
End If
End Sub
Re : ERREUR EXECUTION '13' : icompatibilité de type. ou ERR '28' : espace pile insufi
Bonjour
exemple sur 2018
si tu effaces une des dates en B, ta macro considère que tu es dans la zone où elle agit, sauf que ton contenu est vide, donc pas une date
il faudrait tester si date :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B4:B145")) Is Nothing Then
If IsDate(Target.Value) Then Target = DateSerial(Cells(1, Target.Column), Month(Target), Day(Target))
End If
End Sub
Re : ERREUR EXECUTION '13' : icompatibilité de type. ou ERR '28' : espace pile insufi
Bonjour.
Tout cela ne répond pas à la question du demandeur.
Ce sont sans nul doute deux conséquences de la Private Sub Worksheet_Change dans les feuilles.
Il n'y est pas vérifié qu'une seule cellule est modifiée de sorte que la valeur de plusieurs est constituée d'un tableau qui ne saurait constituer un argument valable des fonctions Month et Day. Par ailleurs en l'absence d'instruction Application.EnableEvents = False devant la modification de Target, celle ci provoque aussitôt une ré-exécution de la Worksheet_Change alors que celle ci n'est pas encore terminée, d’où saturation de la pile quand des millions d'exécutions non terminées sont engagées.
Re : ERREUR EXECUTION '13' : icompatibilité de type. ou ERR '28' : espace pile insufi
D'autre l'on déjà fait, sauf pour ce qui est du Application.EnableEvents = False.
Je dirais donc :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Intersect(Target, Range("B4:B145")) Is Nothing Then Exit Sub
If IsDate(Target.Value) Then
Application.EnableEvents = False
Target = DateSerial(Me.[B1].Value, Month(Target), Day(Target))
Application.EnableEvents = True
End If
End Sub
- 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