IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème Macro Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Services à domicile

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut Problème Macro Excel
    Bonjour à tous
    je reviens vers vous car j'ai un problème bizarre qui s'oppose à mes connaissances.
    J'ai un fichier avec la macro suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("F1:F1000")) Is Nothing Then Target = UCase(Target)
        If Not Intersect(Target, Range("K1:K1000")) Is Nothing Then Target = UCase(Target)
     
        If Not Intersect(Target, Range("Y1:Y1000")) Is Nothing Then 'Valable seulement pour la Plage Y1:Y120
    'Suppression de la protection de la feuille
    ActiveSheet.Unprotect
        If Range("y" & Target.Row).Text <> "" Then
            Target.EntireRow.Locked = True
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        End If
        End If
     
    End Sub
    Mon problème est que cette macro fonctionne bien sous Office 2010 mais ne fonctionne pas sous Office 2007 SP3, il me trouve une erreur sur la ligne "If Not Intersect(Target, Range("F1:F1000")) Is Nothing Then Target = UCase(Target)"
    Pouvez vous m'aider?
    Merci d'avance
    Cordialement

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Quand tu as une erreur sur une ligne de ce style, modifies la, afin de cibler plus précisément le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not Intersect(Target, Range("F1:F1000")) Is Nothing Then 
        Target = UCase(Target)
    end if
    A essayer afin de dissocier la propriété par défaut (Value) et l'objet Target (de type Range)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Target.Value = UCase(Target.Value)

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Services à domicile

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut macros
    Bonjour
    j'ai essayé de faire avec ce que vous m'avez dit mais cela ne fonctionne pas :/
    Pouvez vous me redonner la macro complète avec les modifications à effectuer svp
    Merci d'avance

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    je n'ai pas testé, mais il est préférable de désactiver les événements
    Application.EnableEvents

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Not Intersect(Target, Range("F1:F1000")) Is Nothing Then Target.Value = UCase(Target.Value)
    If Not Intersect(Target, Range("K1:K1000")) Is Nothing Then Target.Value = UCase(Target.Value)
     
    If Not Intersect(Target, Range("Y1:Y1000")) Is Nothing Then 'Valable seulement pour la Plage Y1:Y120
    'Suppression de la protection de la feuille
        ActiveSheet.Unprotect
        If Range("y" & Target.Row).Text <> "" Then
            Target.EntireRow.Locked = True
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        End If
    End If
    Application.EnableEvents = True
    End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Services à domicile

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut probleme de macros
    Merci pour votre réponse je la transmets à la personne qui va faire le test, mais je crois qu'elle a trouvé un autre code qui apparement fonctionne, si elle me le donne je le transmetterai sur ce forum
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Problème Macro Excel Powerpoint Graphique
    Par Mathieu69 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/07/2013, 11h29
  2. Problème macro excel 2003 vers 2007
    Par anne1635 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/12/2011, 21h25
  3. [XL-2002] problème macro excel pour rechercher valeur dans un intervalle
    Par lanomade04 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/05/2011, 16h59
  4. Problème macro excel sous vmware
    Par Bastuccio dans le forum VMware
    Réponses: 1
    Dernier message: 31/12/2009, 13h32
  5. [VBA-E] Problème macro excel
    Par pontus21 dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 19/05/2006, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo