Cellule sélectionnée figée après exécution macro
Résolu
Patrick108
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrick108 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Patrick108 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'utilises des macros via des boutons pour créer des devis.
Les boutons me permettent de recopier des lignes types présentes sur un autre onglet caché.
Mes macros ne sont pas stables : elles fonctionnent 90% du temps mais au bout de plusieurs utilisations, il arrive que l'écran se fige après exécution : l'affichage de la cellule sélectionnée est figé mais je peux néanmoins mettre à jour les cellules (seul le "carré de sélection" est figé : on ne voit plus l'endroit ou l'on clique...).
J'espère être clair...
Ci-dessous une des macros liées qui permet d'insérer une ligne là où on le souhaite dans le devis.
A priori j'avais déjà ce problème avant de rajouter les ntions d'Application.ScreenUpdating en début et fin.
Ce fichier est utilisé par de nombreux utilisateurs et je ne peux pas le laisser planter...
Pouvez vous m'aider ???
*****
Private Sub ajouterligne_position(Ligne As Integer, col As Integer)
' Ajoute une ligne choisie dans l'onglet Listes (feuil4) dans le devis (feuil2)
' L'utilisateur choisit la ligne (position) au dessus de laquelle il insère la ligne
' Ligne = ligne à copier - col = colonne où positionner le curseur une fois la ligne copiée
Dim pos As Integer
On Error Resume Next
Application.ScreenUpdating = False
pos = InputBox("Au dessus de quelle ligne voulez vous ajouter celle-ci ?", "Ajout de ligne", 0)
If pos < 19 Then
pos = 19 ' évite de copier des lignes au dessus de la ligne de titre !
End If
Feuil2.Unprotect
'Copie la ligne sur la feuille 4 cachée "Listes"
Feuil4.Activate
Rows(Ligne).EntireRow.Select
Selection.Copy
'Recopie la ligne sur la feuille 2 "Devis"
Feuil2.Activate
Rows(pos).Insert
Cells(pos, col).Activate
Feuil2.Protect
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
J'utilises des macros via des boutons pour créer des devis.
Les boutons me permettent de recopier des lignes types présentes sur un autre onglet caché.
Mes macros ne sont pas stables : elles fonctionnent 90% du temps mais au bout de plusieurs utilisations, il arrive que l'écran se fige après exécution : l'affichage de la cellule sélectionnée est figé mais je peux néanmoins mettre à jour les cellules (seul le "carré de sélection" est figé : on ne voit plus l'endroit ou l'on clique...).
J'espère être clair...
Ci-dessous une des macros liées qui permet d'insérer une ligne là où on le souhaite dans le devis.
A priori j'avais déjà ce problème avant de rajouter les ntions d'Application.ScreenUpdating en début et fin.
Ce fichier est utilisé par de nombreux utilisateurs et je ne peux pas le laisser planter...
Pouvez vous m'aider ???
*****
Private Sub ajouterligne_position(Ligne As Integer, col As Integer)
' Ajoute une ligne choisie dans l'onglet Listes (feuil4) dans le devis (feuil2)
' L'utilisateur choisit la ligne (position) au dessus de laquelle il insère la ligne
' Ligne = ligne à copier - col = colonne où positionner le curseur une fois la ligne copiée
Dim pos As Integer
On Error Resume Next
Application.ScreenUpdating = False
pos = InputBox("Au dessus de quelle ligne voulez vous ajouter celle-ci ?", "Ajout de ligne", 0)
If pos < 19 Then
pos = 19 ' évite de copier des lignes au dessus de la ligne de titre !
End If
Feuil2.Unprotect
'Copie la ligne sur la feuille 4 cachée "Listes"
Feuil4.Activate
Rows(Ligne).EntireRow.Select
Selection.Copy
'Recopie la ligne sur la feuille 2 "Devis"
Feuil2.Activate
Rows(pos).Insert
Cells(pos, col).Activate
Feuil2.Protect
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
A voir également:
- Cellule sélectionnée figée après exécution macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
5 réponses
Bonjour,
Pour éviter les problèmes, il faut traiter les erreurs correctement !!!
On Error Resume Next est un pis aller qui ne résout pas les problèmes.
Peux-tu mettre ton classeur (non confidentiel) sur cjoint et mettre le lien dans ton prochain message :
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers#q=cjoint&cur=2&url=%2F
Pour éviter les problèmes, il faut traiter les erreurs correctement !!!
On Error Resume Next est un pis aller qui ne résout pas les problèmes.
Peux-tu mettre ton classeur (non confidentiel) sur cjoint et mettre le lien dans ton prochain message :
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers#q=cjoint&cur=2&url=%2F
Bonjour,
J'essaie une nouvelle fois de répondre : la semaine dernière mes réponses ne passaient pas.
Ci-joint mon fichier épuré : https://www.cjoint.com/?3GDl3Gnhna2
Le problème se pose à priori lorsque l'on essaie saisie du texte dans une cellule (par ex. de l'onglet "données d'entrée"). Si on passe directement à l'onglet "Devis détaillé' sans avoir validé par "ENTER" la saisie, et que l'on clique sur un bouton quelconque pour créer une nouvelle ligne, la macro plante et l'écran reste figé...
Je ne vois pas comment résoudre ce plantage ...????
Je veux bien votre avis sur mon code car je n'en fais pas souvent.
Merci de votre aidre.
Cdlt
J'essaie une nouvelle fois de répondre : la semaine dernière mes réponses ne passaient pas.
Ci-joint mon fichier épuré : https://www.cjoint.com/?3GDl3Gnhna2
Le problème se pose à priori lorsque l'on essaie saisie du texte dans une cellule (par ex. de l'onglet "données d'entrée"). Si on passe directement à l'onglet "Devis détaillé' sans avoir validé par "ENTER" la saisie, et que l'on clique sur un bouton quelconque pour créer une nouvelle ligne, la macro plante et l'écran reste figé...
Je ne vois pas comment résoudre ce plantage ...????
Je veux bien votre avis sur mon code car je n'en fais pas souvent.
Merci de votre aidre.
Cdlt
Bonjour Patrick108,
Je n'arrive pas à reproduire l'erreur que tu décris.
Peux-tu nous indiquer la version d'Excel que tu utilises ?
De plus quand une macro tourne en boucle infinie, tu peux utiliser "Ctrl+Pause" pour l'arrêter (il faut parfois s'acharner à utiliser cette combinaison de touches), et je crois que tu peux voir à quelle étape tu as arrêté la macro.
A+
Je n'arrive pas à reproduire l'erreur que tu décris.
Peux-tu nous indiquer la version d'Excel que tu utilises ?
De plus quand une macro tourne en boucle infinie, tu peux utiliser "Ctrl+Pause" pour l'arrêter (il faut parfois s'acharner à utiliser cette combinaison de touches), et je crois que tu peux voir à quelle étape tu as arrêté la macro.
A+
J'utilises Excel 2010.
J'ai remarqué que le plantage se produit à priori lorsque l'on est entrain de saisir des données dans une case (choix dans liste déroulante, ajout de commentaire). L'utilisateur ne valide pas l'entrée de ses données (il n'appuie pas sur "Entrée") mais clique sur un bouton d'ajout "ICI"...
Ce fichier est utilisé par au moins 20 personnes et j'aimerais bien qu'il soit stable...
J'ai remarqué que le plantage se produit à priori lorsque l'on est entrain de saisir des données dans une case (choix dans liste déroulante, ajout de commentaire). L'utilisateur ne valide pas l'entrée de ses données (il n'appuie pas sur "Entrée") mais clique sur un bouton d'ajout "ICI"...
Ce fichier est utilisé par au moins 20 personnes et j'aimerais bien qu'il soit stable...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Avec Excel 2002 le problème ne se produit pas.
Ici, je ne dispose pas de 2010 mais il me semble me souvenir qu'il n'est pas possible d'agir sur des objets (boutons) lorsqu'on est en mode édition (en train d'écrire dans une cellule) : avant, il faut sortir du mode édition (par exemple en appuyant sur Echap). A tester pour savoir si le plantage persiste.
Si le mode édition n'interdit pas l'action sur le bouton, le problème vient peut-être du fait que l'objet actif est le bouton (au lieu d'une cellule). Essaies avec un bouton ActiveX (au lieu d'un bouton de formulaire) avec une procédure _Click() du type :
Avec Excel 2002 le problème ne se produit pas.
Ici, je ne dispose pas de 2010 mais il me semble me souvenir qu'il n'est pas possible d'agir sur des objets (boutons) lorsqu'on est en mode édition (en train d'écrire dans une cellule) : avant, il faut sortir du mode édition (par exemple en appuyant sur Echap). A tester pour savoir si le plantage persiste.
Si le mode édition n'interdit pas l'action sur le bouton, le problème vient peut-être du fait que l'objet actif est le bouton (au lieu d'une cellule). Essaies avec un bouton ActiveX (au lieu d'un bouton de formulaire) avec une procédure _Click() du type :
Private Sub MonBouton_Click() ActiveCell.Activate Call LaProcédureAdHoc End Sub