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   -
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
A voir également:

5 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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
0
Patrick108 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
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+
0
Patrick108 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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 :
Private Sub MonBouton_Click()
  ActiveCell.Activate
  Call LaProcédureAdHoc
End Sub

0
Patrick108 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour vos analyses.
J'ai changé le type de bouton : Formulaires -> activex et le problème ne se produit plus...
Merci de votre aide.
0