problème avec version EXCEL
#1
Régulier XLPages

Inscription: 24/08/2011

Messages: 54

Système d'exploitation:
PC
Version Excel utilisée:
OFFICE EXCEL 2007
Posté le : 16-05-2012 16h49
Bonjour a tous,

Quelqu'un peut'il me donner un coup de main, d'avance merci a tous et bon courage


Mon patron ma imposer EXCEL10 alors que j'étais sur EXCEL7
Maintenant j'ai un probléme avec mes applications avec les listes déroulante dans les cellules

Si je fait mon choix avec la liste ça plante, si je tape directement mon choix dans la cellule
ça marche.

Le plantage c'est :

La méthode '-Default' de l'objet 'RANGE' à échoué
Erreur d'exécution '-2147417848(80010108)'

Je n'arrive pas a comprendre et a DEBOGUER, de plus je n'arrive pas à virer le mot de passe que j'avais mis.

PASS=MDS
Pièce jointe:
xls TESTRETENTION1test.xls   [ Taille: 64.50 Ko - Téléchargements: 490 ]
Hors Ligne
Rapport   Haut 

Re: problème avec version EXCEL
#2
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 16-05-2012 21h20
Bonsoir ramarc, bonsoir le forum,

Citation :

Mon patron ma imposer EXCEL10 alors que j'étais sur EXCEL7


Sourire... tu en as de la chance

Citation :

Maintenant j'ai un probléme avec mes applications avec les listes déroulante dans les cellules


Je n'ai pas Excel 2010, mais si je puis me permettre ton code ne fonctionnait pas non plus correctement sous 2007, tu as une procédure évènementielle qui tourne en rond.
Tu auras peut-être de meilleures propositions mais en attendant essaie peut-être de modifier comme ceci la procédure de ta Feuil1:

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Not Intersect(Target, Range("E11:K11")) Is Nothing Then Target = UCase(Target)
    Application.EnableEvents = True
End Sub


Bonne soirée,

mth
Hors Ligne
Rapport   Haut 

Re: problème avec version EXCEL
#3
Régulier XLPages

Inscription: 24/08/2011

Messages: 54

Système d'exploitation:
PC
Version Excel utilisée:
OFFICE EXCEL 2007
Posté le : 18-05-2012 14h49

Bonjour,
Merci beaucoup cela fonctionne, mais j'ai pas compris l'astuce ???

Y'a t'il un probléme avec les références relatives ?, avant l'erreur n'était pas détectée.

Sans abusé car j'ai pas capté, sous mon autre appli même soucis et pourtant mon code semble correct :

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("F11:G11")) Is Nothing Then
        If Range("F11") <> "O" Then
           Range("G11") = "N"
        End If
    End If
    If Not Application.Intersect(Target, Range("H11:I11")) Is Nothing Then
        If Range("H11") <> "O" Then
            Range("I11") = "N"
        End If
    End If
   
End Sub

Merci d'avance pour votre aide.

Le mDFcalendar c'est O.K sous EXCEL10

Cordialement, bon courage à tous.

Pièce jointe:
xls StatRACIMP3JANVIER2012.xls   [ Taille: 75.50 Ko - Téléchargements: 420 ]
Hors Ligne
Rapport   Haut 

Re: problème avec version EXCEL
#4
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 18-05-2012 16h30
Bonjour ramarc,

Tu déclenches une macro évènementielle sur la plage F11:G11, et dans ce même code, tu modifies également une cellule de cette plage.
Admettons que je modifie la cellule F11, le code se lance, modifie la cellule G11 pour lui attibuer la valeur "N", comme la cellule G11 est modifiée, avant même d'atteindre le premier "End If" la macro évènementielle se déclenche à nouveau, tu crées une boucle sans fin.

L'instruction Application.EnableEvents = False permet de désactiver les évènements, tu peux l'utiliser avant l'instruction qui modifie la cellule G11 afin que la macro ne se déclenche pas, et surtout il est impératif de réactiver les évènements après, avec Application.EnableEvents = True

Cela pourrait donner quelque chose comme ça:
If Range("F11") <> "O" Then
  Application.EnableEvents = False
  Range("G11") = "N"
  Application.EnableEvents = True
End If


Petite astuce...
Si tu utiles Application.EnableEvents = False et que ta macro plante en cours de route avant d'atteindre l'instruction Application.EnableEvents = True, Excel aura désactivé les évènements quelle que soit la macro que tu lanceras derrière.
En guise de rattrapage si cela t'arrive, tu peux te mettre une macro provisoire dans un module standard avec une seule ligne d'instruction :Application.EnableEvents = True
En la lançant tu rétablis le fonctionnement normal d'Excel, ce qui peut dépanner !!

Bien à toi,

mth


Hors Ligne
Rapport   Haut 

Re: problème avec version EXCEL
#5
Régulier XLPages

Inscription: 24/08/2011

Messages: 54

Système d'exploitation:
PC
Version Excel utilisée:
OFFICE EXCEL 2007
Posté le : 18-05-2012 16h41
Bonjour,

Je vient de comprendre et ceci grâce à toi, un grand merci pour ta disponibilité et ta gentillesse

Je vous souhaite à toutes et tous un bon WEEK.

Cordialement.
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes