Microsoft 365 Réservations places loto

nike780

XLDnaute Junior
Bonjour,
Vu le nombre de places disponibles (1000) à notre prochain loto j'ai modifié un peu le fichier. J'inscris le nom de la personne mais à chaque fois que j'indique une valeur, j'ai un bug qui se produit dans la macro, "Erreur d'exécution 13 - incompatibilité de type" d'où cela provient-il ?
Je clique sur FIN et le message disparait
Merci d'avance de votre réponse
Cdt
 

Pièces jointes

  • Réservations loto.xlsm
    190.9 KB · Affichages: 8

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Nike,
La macro donne une erreur lorsque la cellule considérée est en erreur.
Deux possibilités possibles entre autres :
1- Sortir de la macro lorsque la cellule est en erreur :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B26:C526")) Is Nothing Then
Range("f3:ai16").ClearContents
N = 1
For Each cellule In Range("F26:BE526")
    If IsError(cellule.Value) Then Exit For ' Si cellule en erreur on sort
    If cellule.Value <> "" Then
        ligne = Asc(Left(cellule, 1)) - 62
        colonne = 5 + Right(cellule, Len(cellule) - 1) * 1
        Cells(ligne, colonne) = "X"
    End If
Next cellule
End If
End Sub
2- Eviter les erreurs dans la feuille en modifiant votre formule :
Code:
=SIERREUR(SI((COLONNE()-7)<DROITE($C26;NBCAR($C26)-1)-DROITE($B26;NBCAR($B26)-1);GAUCHE($B26;1)&DROITE($B26;NBCAR($B26)-1)+COLONNE()-6;"");"")
Evidemment la seconde solution me semble préférable. La PJ retient la seconde solution.
 

Pièces jointes

  • Réservations loto.xlsm
    466.3 KB · Affichages: 10

nike780

XLDnaute Junior
Bonjour Nike,
La macro donne une erreur lorsque la cellule considérée est en erreur.
Deux possibilités possibles entre autres :
1- Sortir de la macro lorsque la cellule est en erreur :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B26:C526")) Is Nothing Then
Range("f3:ai16").ClearContents
N = 1
For Each cellule In Range("F26:BE526")
    If IsError(cellule.Value) Then Exit For ' Si cellule en erreur on sort
    If cellule.Value <> "" Then
        ligne = Asc(Left(cellule, 1)) - 62
        colonne = 5 + Right(cellule, Len(cellule) - 1) * 1
        Cells(ligne, colonne) = "X"
    End If
Next cellule
End If
End Sub
2- Eviter les erreurs dans la feuille en modifiant votre formule :
Code:
=SIERREUR(SI((COLONNE()-7)<DROITE($C26;NBCAR($C26)-1)-DROITE($B26;NBCAR($B26)-1);GAUCHE($B26;1)&DROITE($B26;NBCAR($B26)-1)+COLONNE()-6;"");"")
Evidemment la seconde solution me semble préférable. La PJ retient la seconde solution.
Bonjour,
Aujourd'hui, je viens de renseigner une nouvelle réservation et plus rien ne fonctionne comme avant, la partie du haut s'est en partie effacée, je ne vois plus les places occupées.
Par ailleurs je suis allé voir dans le visual basic et je vois dans la fonction range que la valeur est F3 à AI16 ne devrait-il pas y avoir de F3 à BC16 ?
Si je devais ajouter 2 nouvelles tables (U et V) cela serait-il compliqué de le modifier ?
Comme vous pourrez le voir j'ai ajouté plusieurs onglets dès le début, je ne vois pas pourquoi cela affecterait le code VBA, ci joint le tableau, merci d'avance de votre aide.
Cdt
 

Pièces jointes

  • Réservations loto.xlsm
    405.2 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Dans votre fichier certaines cellules où figurent les formules ont été remplacées par des "X", de AZ45 à BC45.
En PJ c'est rectifié. Le clear table est fait sur F3:BC22.
Testez déjà cette PJ.
Si c'est ok je regarderais pour rajouter les tables U et V.
A vous lire.
 

Pièces jointes

  • Réservations loto (5).xlsm
    425.3 KB · Affichages: 4

nike780

XLDnaute Junior
Bonjour,
Ça fonctionne à nouveau, les "X" c'est moi qui les ai mis volontairement pour essayer de compléter manuellement le tableau car la macro ne fonctionnait plus.
Je vous renvoie le fichier avec les nouvelles inscriptions, si vous pouvez y rajouter 2 tables ce serait super.
Merci d'avance de votre super travail.
Cdt
 

Pièces jointes

  • Réservations loto (5).xlsm
    405.2 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
les "X" c'est moi qui les ai mis volontairement
Vous n'auriez pas pu le dire !
Vous savez combien de temps il faut pour trouver cette erreur ? car en premier lieu on cherche dans le VBA.
D'autant que dans cette zone, un X est absurde puisqu'on doit y trouver des coordonnées de tables.
Et où était exactement le bug ? puisque le seul que j'ai trouvé était justement ces "X".
En PJ un essai avec U et V.
J'ai rajouté un message d'erreur ... au cas où.
 

Pièces jointes

  • Réservations loto (UV).xlsm
    429.7 KB · Affichages: 4

Statistiques des forums

Discussions
312 207
Messages
2 086 230
Membres
103 160
dernier inscrit
Torto