XL 2013 Erreur de complilation

mcj1997

XLDnaute Accro
Bonjour,

J'ai une erreur de compilation sur la ligne Cancel = True dans le fichier joint que je n'arrive pas à régler.
La formule sur laquelle je bloque permet d'indiquer automatiquement le N° de semaine après saisie d'une date.

Merci d'avance,
 

Pièces jointes

  • NO_SEMAINE.xlsm
    23.2 KB · Affichages: 32

Jacky67

XLDnaute Barbatruc
Merci beaucoup, comment trouver tous ces codes ?
RE..
Exemple pour
[IFERROR(e3/c3,0)]
En réalité la version abrégée de:
Evaluate("IFERROR(e3/c3,0)") *F1 sur Evaluate dans l'éditeur VBA
N'est rien d'autre que la version VBA de
=SIERREUR(E3/C3;0)
L'enregistreur de macro serait (parfois) d'une grande aide
Perso, je pense qu'il faudrait commencer par des codes beaucoup plus simple, si tu débutes.
Le codes tels que ceux élaborés pour des procédures évènementielles ne sont pas un bon début et sont rébarbatifs.

Comme déjà dit dans un autre fil ==>g..gle
Cela n'engage que moi.:)
Et je suis d'accord avec moi même. :D

JJ éternel débutant.
 

mcj1997

XLDnaute Accro
Re..
Cette version met les résultats en E2:G2
J'ai ajouté l'impossibilité d'avoir plus que 1 X en E:G

Nb: ne pas oublier
.......WeekNum(Target.Value, 21)


Bonjour,

Je dois ajouter une colonne à mon tableau, donc je souhaiterai étendre l'impossibilité d'avoir plus que 1 X en H soit en E : H.

J'essaie de modifier la partie du programme concerné en rajout une ligne If Target.Column = 8 ....mais je ne trouve pas la logique des 1, -1, 2 qui suivent :

If Target.Column = 5 And Target <> "" Then Target.Offset(, 1) = "": Target.Offset(, 2) = ""
If Target.Column = 6 And Target <> "" Then Target.Offset(, -1) = "": Target.Offset(, 1) = ""
If Target.Column = 7 And Target <> "" Then Target.Offset(, -1) = "": Target.Offset(, -2) = ""

Merci d'avance,
 

Jacky67

XLDnaute Barbatruc
Bonjour,

mais je ne trouve pas la logique des 1, -1, 2 qui suivent :
Re..
Un petit coup de F1 sur "Offset" pour comprendre la logique
VB:
    If Target.Column = 5 And Target <> "" Then Target.Offset(, 1) = "": Target.Offset(, 2) = "": Target.Offset(, 3) = ""
    If Target.Column = 6 And Target <> "" Then Target.Offset(, -1) = "": Target.Offset(, 1) = "": Target.Offset(, 2) = ""
    If Target.Column = 7 And Target <> "" Then Target.Offset(, -1) = "": Target.Offset(, -2) = "": Target.Offset(, 1) = ""
    If Target.Column = 8 And Target <> "" Then Target.Offset(, -1) = "": Target.Offset(, -2) = "": Target.Offset(, -3) = ""
Il faudra aussi remplacer cette ligne
If Not Intersect(Range("a6:g300"), Target) Is Nothing Then
par
If Not Intersect(Range("a6:h300"), Target) Is Nothing Then

Il y a d'autres méthodes pour faire la même chose avec "Resize" et avec "range" , mais c'est plus difficile à comprendre
 

Statistiques des forums

Discussions
312 330
Messages
2 087 337
Membres
103 524
dernier inscrit
Smile1813