Modifier un code VBA
#1
Aspirant XLPages

Inscription: 27/02/2008
De Strasbourg

Messages: 25

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 19-10-2011 18h48
 Bonsoir à tous

 

J’ai essayé de comprendre et de modifier un code VBA d’un sujet que j’avais posté

 

à http://www.mdf-xlpages.com/modules/ne ... ost_id=4208#forumpost4208

 

Sur Excel j’ai créé un format conditionnel en A,B,C 1,2,3,4,5 et j’ai appliqué le code VBA suivant:

Option Explicit

'myDearFriend!  -  www.mdf-xlpages.com
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim Plage As Range
    Set Plage = Application.Intersect(Target, Range("zoneHeures"))
    If Not Plage Is Nothing Then
        Cancel = True
        Plage.Value = IIf(Target(1).Value = 1, "", 1)
    End If
End Sub

Mon problème et le suivant

j'aimerai que sur ma feuille en A,B,C 1,2,3,4,5 en faisant un clic droit un "X" majuscule apparaisse à la place du "1" 
Mais en modifiant

Plage.Value = IIf(Target(1).Value = 1""1)

comme cela:

Plage.Value = IIf(Target(1).Value = X"", X)

ça ne fonctionne pas j'ai un message d'erreur

En pièce jointe mon fichier

A bientôt


















Pièce jointe:
xls Croix.xls   [ Taille: 24.00 Ko - Téléchargements: 498 ]
Hors Ligne
Rapport   Haut 

Re: Modifier un code VBA
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 19-10-2011 19h26
Bonsoir 272129, le Forum,

Je n'ai pas pris le temps d'ouvrir ta pièce jointe, mais je pense que tu devrais pouvoir tester comme ça :
Plage.Value = IIf(Target(1).Value = "X", "", "X")
S'agissant d'une chaîne de caractère ("X") et non plus d'une valeur numérique (1), il te faut penser à ajouter des guillemets.

Cordialement,





Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Modifier un code VBA
#3
Aspirant XLPages

Inscription: 27/02/2008
De Strasbourg

Messages: 25

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 20-10-2011 18h44
Bonsoir à tous

Bonsoir Didier

Merci pour ta réponse Express, j'ai réussi à faire fonctionner le code
sur une feuille vierge 

Mais malheureusement je n’y arrive toujours pas sur ma feuille de licences foot de mes poussins U 11.

J’ai bien une plage nommée « Presence » d’après le tutoriel de Mt, rt modifié ton code VBA mais cela ne fonctionne toujours pas.

J’ai également remarqué qu’en appliquant la macro 1 une erreur..... encore, et quand le fait un aperçu mes A et P en colonne G sont grise.

je remets mon fichier en PJ en espèrent que tu pourras m’aider, j’avais vraiment espoire d’y arriver tout seul mais......
Cordialement







Edité par 272129 le 21/10/2011 07:01:17
Hors Ligne
Rapport   Haut 

Re: Modifier un code VBA
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 20-10-2011 21h44
Bonsoir 272129,

J'avais essayé de gagner un peu de temps... mais bon....

Je viens donc d'ouvrir ton classeur :
  • je vire le « module de Classe » que tu as visiblement créé, mais qui n'a aucune utilité ici.
  • Je rectifie le code du module de code de la Feuil1 comme je te l'indique plus haut.

Le fonctionnement me parait correct.
Je mets le classeur rectifié en pièce jointe pour ton analyse.

Cordialement,
Pièce jointe:
zip Croix.zip   [ Taille: 6.63 Ko - Téléchargements: 459 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Modifier un code VBA
#5
Aspirant XLPages

Inscription: 27/02/2008
De Strasbourg

Messages: 25

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 21-10-2011 06h57

Bonsoir à tous

 

Bonjour Didier (je re poste par copier/coller tu m'as pris de vitesse hier soir) 

 

Merci pour ta réponse Express, j'ai réussi à faire fonctionner le codesur une feuille vierge

 

Mais malheureusement je n’y arrive toujours pas sur ma feuille de licences foot de mes poussins U 11.

J’ai bien une plage nommée « Presence » d’après le tutoriel de Mt, modifié ton code VBA mais cela ne fonctionne toujours pas.

J’ai également remarqué qu’en appliquant la macro 1 une erreur..... encore, et quand le fait un aperçu mes A et P en colonne G sont grise.

 

je remets mon fichier en PJ en espèrent que tu pourras m’aider, j’avais vraiment espoire d’y arriver tout seul mais......

@ Bientôt.












Pièce jointe:
zip patron 2011.zip   [ Taille: 18.43 Ko - Téléchargements: 478 ]
Edité par 272129 le 22/10/2011 12:29:43
Hors Ligne
Rapport   Haut 

Re: Modifier un code VBA
#6
Aspirant XLPages

Inscription: 27/02/2008
De Strasbourg

Messages: 25

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 25-11-2011 22h08
Bonsoir Didier, le Forum


Je reviens vers vous après quelques semaines de recherche et d’essai pour essayer de résoudre mon problème, malheureusement sans succès.

J’ai bien une plage nommée « Présence » d’après le tutoriel de Mt, modifié ton code VBA mais cela ne fonctionne toujours pas.
J’ai également remarqué qu’en appliquant la macro 1 une erreur..... Encore, et quand le fait un aperçu mes A et P en colonne G sont grise.
 
si un oeil expert pouvais jeter un cil....

très cordialement 272129





Pièce jointe:
zip patron 2011.zip   [ Taille: 18.43 Ko - Téléchargements: 479 ]
Hors Ligne
Rapport   Haut 

Re: Modifier un code VBA
#7
Accro XLPages

Inscription: 17/08/2007
De Québec, Canada

Messages: 180

Système d'exploitation:
PC
Version Excel utilisée:
Excel 2003, 2007 (FR) & MsProject 2003
Posté le : 25-11-2011 22h36
 Salut le forum

Je ne vois pas pourquoi tu t'obstines à mettre les codes dans des modules de classes.

Dans le module de la feuille11 (Patron)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim Plage As Range
    Set Plage = Application.Intersect(Target, Range("Presence"))
    If Not Plage Is Nothing Then
        Cancel = True
        Plage.Value = IIf(Target(1).Value = "X", "", "X")
    End If
End Sub
Mytå
Hors Ligne
Rapport   Haut 

Re: Modifier un code VBA
#8
Aspirant XLPages

Inscription: 27/02/2008
De Strasbourg

Messages: 25

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 26-11-2011 11h59
Salut Myta, le Forum


Non je ne m’obstine pas mais je pensais que c’était comme cela qu’il fallait faire.

Je me suis basé sur les différents tutos du Forum, et les exemples de Didier.

Je ne perds pas espoir, je vais continuer à chercher… merci quand même d’avoir pris le temps de me lire.

Cordialement 272129





Pièce jointe:
zip patron 2011.zip   [ Taille: 18.43 Ko - Téléchargements: 477 ]
Hors Ligne
Rapport   Haut 

Re: Modifier un code VBA
#9
Aspirant XLPages

Inscription: 27/02/2008
De Strasbourg

Messages: 25

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 09-12-2011 17h29
Bonsoir le Forum

 

Pas de solution pour moi snif !!!!

 

Je clôture le sujet, mais non résolu…. Je le réactiverai peut-être  un  peu tard.

 

En attendant je vous souhaite à toutes et à tous de très bonnes fêtes de fin d’année,

 

Et tous mes voeux pour 2012



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