Excel : macro pour detecter une erreur
Fermé
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
-
Modifié par logan989 le 15/04/2010 à 16:29
Le Pingou Messages postés 12242 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 16 mars 2025 - 7 mai 2010 à 14:54
Le Pingou Messages postés 12242 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 16 mars 2025 - 7 mai 2010 à 14:54
A voir également:
- Excel : macro pour detecter une erreur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si et excel - Guide
- Excel moyenne - Guide
11 réponses
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
16 avril 2010 à 13:19
16 avril 2010 à 13:19
Bonjour
ci dessous macro simplifiée pour donner en feuille 3 les adresses des erreurs et virgules à compléter et/ou adapter par tes soins. ci joint maquette de travail
demo
https://www.cjoint.com/?eqnsVsUoNV
ci dessous macro simplifiée pour donner en feuille 3 les adresses des erreurs et virgules à compléter et/ou adapter par tes soins. ci joint maquette de travail
Dim Erreurs, Virgules Dim cptr_e As Integer, cptr_v As Integer Sub chercherlerreur() Dim cptr As Byte Dim onglets, plages Dim onglet As String, plage As String onglets = Array("devis elec", "questionnaire") 'à complèter plages = Array("B2:B6", "A2:A6") 'a complèter ReDim Erreurs(1, 0) ReDim Virgules(1, 0) For cptr = 0 To UBound(onglets) onglet = onglets(cptr) plage = plages(cptr) verifier onglet, plage Next With Sheets(3) Application.ScreenUpdating = False .Range("B2:F1000").Clear .Range("B2").Resize(UBound(Erreurs) + 1, 2) = Application.Transpose(Erreurs) .Range("E2").Resize(UBound(Virgules) + 1, 2) = Application.Transpose(Virgules) End With End Sub Sub verifier(feuille, zone) Dim cellule As Range With Sheets(feuille) For Each cellule In .Range(zone) If IsError(cellule) Then Erreurs(0, cptr_e) = feuille Erreurs(1, cptr_e) = cellule.Address cptr_e = cptr_e + 1 ReDim Preserve Erreurs(1, cptr_e) End If test = cellule.Address If cellule.Text Like "*,*" Then Virgules(0, cptr_v) = feuille Virgules(1, cptr_v) = cellule.Address cptr_v = cptr_v + 1 ReDim Preserve Virgules(1, cptr_v) End If Next End With End Sub
demo
https://www.cjoint.com/?eqnsVsUoNV
Le Pingou
Messages postés
12242
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
16 mars 2025
1 458
15 avril 2010 à 22:25
15 avril 2010 à 22:25
Bonjour,
Alors mettez une copie de votre macro pour voir ou intégrer une balise de position!
Alors mettez une copie de votre macro pour voir ou intégrer une balise de position!
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
16 avril 2010 à 09:43
16 avril 2010 à 09:43
Bonjour,
Voici ladite macro :
Public HeureExecution As Double
Public NomClasseur As Variant
Public flagouverture As Boolean, flagref As Boolean, flagvirgule As Boolean
Public Sub ExecuterTimer()
Dim toto As Variant
NomClasseur = ThisWorkbook.Name
'************** Vérification des valeurs de cellules
a = 0
b = 0
'**** Vérif de certaines feuilles uniquement
For Each c1 In Workbooks(NomClasseur).Worksheets("Devis ELEC").Range("A1:M80")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Questionnaire").Range("A1:I80")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Liste actionneur-Alimentation").Range("A1:BL200")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Liste instrumentation").Range("A1:R370")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Tertiaire").Range("A1:CT120")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("armoires").Range("A1:I26")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Dimensionnement armoire(s)").Range("A1:M36")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Coût armoires et coffrets").Range("A1:J60")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Récapitulatif câbles").Range("A1:Y130")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Calcul du transformateur").Range("A1:Y130")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Refroidissement").Range("A1:Y400")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
'MsgBox ("Nombre cellules en erreur:" & a & " Flag ref:" & flagref & " Flag ouv:" & flagouverture)
If a > 0 And flagref = False Then
' Il y a un #ref, #Value, #Div/0 qui traine
toto = MsgBox("Une ou plusieurs cellules sont en erreur dans le fichier!", vbCritical, ThisWorkbook.Name)
flagref = True
ElseIf a = 0 And flagref = True Then
' Tout est ok
flagref = False
toto = MsgBox("Plus d'erreur dans les cellules.", vbInformation)
End If
'*******************
If b > 0 And flagvirgule = False Then
' Il y a une virgule qui traîne quelque part
toto = MsgBox("Une ou plusieurs cellules contiennent le caractère virgule :',' Voir avec EAS.", vbCritical, ThisWorkbook.Name)
flagvirgule = True
ElseIf b = 0 And flagvirgule = True Then
' Tout est ok
flagvirgule = False
toto = MsgBox("Plus de virgule.", vbInformation)
End If
'******** Vérification du nombre de feuille ouvertes
If Workbooks.Count > 1 And flagouverture = False Then
toto = MsgBox("Plus d'un fichier ouvert dans la même instance d'Excel! Fermer les autres fichiers ouverts ou ouvrir la note de calcul Elec dans un nouvel Excel.", vbCritical, ThisWorkbook.Name)
flagouverture = True
ElseIf Workbooks.Count = 1 And flagouverture = True Then
flagouverture = False
End If
If flagouverture Or flagref Or flagvirgule Then
Workbooks(NomClasseur).Worksheets("Devis ELEC").Range("H69").Value = "ERREUR"
Else
Workbooks(NomClasseur).Worksheets("Devis ELEC").Range("H69").Value = ""
End If
HeureExecution = Now + TimeSerial(0, 5, 0)
Application.OnTime HeureExecution, "ExecuterTimer", , True
End Sub
Public Sub StopTimer()
Application.OnTime HeureExecution, "ExecuterTimer", , False
End Sub
J'espère que ça pourra vous aider.
Voici ladite macro :
Public HeureExecution As Double
Public NomClasseur As Variant
Public flagouverture As Boolean, flagref As Boolean, flagvirgule As Boolean
Public Sub ExecuterTimer()
Dim toto As Variant
NomClasseur = ThisWorkbook.Name
'************** Vérification des valeurs de cellules
a = 0
b = 0
'**** Vérif de certaines feuilles uniquement
For Each c1 In Workbooks(NomClasseur).Worksheets("Devis ELEC").Range("A1:M80")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Questionnaire").Range("A1:I80")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Liste actionneur-Alimentation").Range("A1:BL200")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Liste instrumentation").Range("A1:R370")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Tertiaire").Range("A1:CT120")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("armoires").Range("A1:I26")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Dimensionnement armoire(s)").Range("A1:M36")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Coût armoires et coffrets").Range("A1:J60")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Récapitulatif câbles").Range("A1:Y130")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Calcul du transformateur").Range("A1:Y130")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
For Each c1 In Workbooks(NomClasseur).Worksheets("Refroidissement").Range("A1:Y400")
If IsError(c1) Then
a = a + 1
End If
If c1.Text Like "*,*" Then
b = b + 1
End If
Next
'MsgBox ("Nombre cellules en erreur:" & a & " Flag ref:" & flagref & " Flag ouv:" & flagouverture)
If a > 0 And flagref = False Then
' Il y a un #ref, #Value, #Div/0 qui traine
toto = MsgBox("Une ou plusieurs cellules sont en erreur dans le fichier!", vbCritical, ThisWorkbook.Name)
flagref = True
ElseIf a = 0 And flagref = True Then
' Tout est ok
flagref = False
toto = MsgBox("Plus d'erreur dans les cellules.", vbInformation)
End If
'*******************
If b > 0 And flagvirgule = False Then
' Il y a une virgule qui traîne quelque part
toto = MsgBox("Une ou plusieurs cellules contiennent le caractère virgule :',' Voir avec EAS.", vbCritical, ThisWorkbook.Name)
flagvirgule = True
ElseIf b = 0 And flagvirgule = True Then
' Tout est ok
flagvirgule = False
toto = MsgBox("Plus de virgule.", vbInformation)
End If
'******** Vérification du nombre de feuille ouvertes
If Workbooks.Count > 1 And flagouverture = False Then
toto = MsgBox("Plus d'un fichier ouvert dans la même instance d'Excel! Fermer les autres fichiers ouverts ou ouvrir la note de calcul Elec dans un nouvel Excel.", vbCritical, ThisWorkbook.Name)
flagouverture = True
ElseIf Workbooks.Count = 1 And flagouverture = True Then
flagouverture = False
End If
If flagouverture Or flagref Or flagvirgule Then
Workbooks(NomClasseur).Worksheets("Devis ELEC").Range("H69").Value = "ERREUR"
Else
Workbooks(NomClasseur).Worksheets("Devis ELEC").Range("H69").Value = ""
End If
HeureExecution = Now + TimeSerial(0, 5, 0)
Application.OnTime HeureExecution, "ExecuterTimer", , True
End Sub
Public Sub StopTimer()
Application.OnTime HeureExecution, "ExecuterTimer", , False
End Sub
J'espère que ça pourra vous aider.
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
Modifié par logan989 le 16/04/2010 à 16:11
Modifié par logan989 le 16/04/2010 à 16:11
Encore une question michel_m : pour ta macro, une erreur se produit souvent :
Erreur d'execution '9' : l'indice n'appartient pas à la sélection
La ligne 38 est surlignée quand je clique sur débogage : Erreurs(0, cptr_e) = feuille
As-tu l'explication ?
Erreur d'execution '9' : l'indice n'appartient pas à la sélection
La ligne 38 est surlignée quand je clique sur débogage : Erreurs(0, cptr_e) = feuille
As-tu l'explication ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
16 avril 2010 à 18:46
16 avril 2010 à 18:46
Re,
effectivement, il y avait ce piège et d'autres dans lesquels je suis tombé (ça, je sais bien faire)
ci joint le classeur modifié avec en petit supplément gratuit un splendide chronomètre à la milliseconde
https://www.cjoint.com/?eqsRDTWUrE
Mes bourdes?
dans "chercherlerreur"
dans "vérifier" (la cellule en erreur empèche de tester la virgul: il faut employer un elseif==> sinon si)
la virgule peur être dans du texte (t'avais bien vu le truc) mais aussi dans un nombre
excuses moi pour ces c... (au choix) j'espère que ce coup ci ce sera OK
tu dis (je serai en ballade ce samedi)
effectivement, il y avait ce piège et d'autres dans lesquels je suis tombé (ça, je sais bien faire)
ci joint le classeur modifié avec en petit supplément gratuit un splendide chronomètre à la milliseconde
https://www.cjoint.com/?eqsRDTWUrE
Mes bourdes?
dans "chercherlerreur"
With Sheets(3) Application.ScreenUpdating = False .Range("B2:F1000").Clear .Range("B2").Resize(cptr_e, 2) = Application.Transpose(Erreurs) .Range("E2").Resize(cptr_v, 2) = Application.Transpose(Virgules) End With Set Erreurs = Nothing Set Virgules = Nothing cptr_e = 0 cptr_v = 0
dans "vérifier" (la cellule en erreur empèche de tester la virgul: il faut employer un elseif==> sinon si)
la virgule peur être dans du texte (t'avais bien vu le truc) mais aussi dans un nombre
For Each cellule In .Range(zone) If IsError(cellule) Then Erreurs(0, cptr_e) = feuille Erreurs(1, cptr_e) = cellule.Address cptr_e = cptr_e + 1 ReDim Preserve Erreurs(1, cptr_e) ElseIf cellule Like "*,*" Or cellule Like "#,#" Then Virgules(0, cptr_v) = feuille Virgules(1, cptr_v) = cellule.Address cptr_v = cptr_v + 1 ReDim Preserve Virgules(1, cptr_v) End If Next
excuses moi pour ces c... (au choix) j'espère que ce coup ci ce sera OK
tu dis (je serai en ballade ce samedi)
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
Modifié par logan989 le 19/04/2010 à 11:41
Modifié par logan989 le 19/04/2010 à 11:41
Bonjour,
Décidemment, j'ai vraiment du mal...
J'ai ajouté tes corrections et à présent j'ai une nouvelle erreur :
"Erreur d'execution '1004' :
Erreur définie par l'application ou par l'objet"
la ligne surlignée est dans la partie chercherlerreur :
.Range("E2").Resize(cptr_v, 2) = Application.Transpose(Virgules)
Désolé de t'embêter encore...
Je suis vraiment une bille là-dedans.
Merci du temps que tu m'as déjà accordé.
a+
Décidemment, j'ai vraiment du mal...
J'ai ajouté tes corrections et à présent j'ai une nouvelle erreur :
"Erreur d'execution '1004' :
Erreur définie par l'application ou par l'objet"
la ligne surlignée est dans la partie chercherlerreur :
.Range("E2").Resize(cptr_v, 2) = Application.Transpose(Virgules)
Désolé de t'embêter encore...
Je suis vraiment une bille là-dedans.
Merci du temps que tu m'as déjà accordé.
a+
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
19 avril 2010 à 13:56
19 avril 2010 à 13:56
Bonjour,
Je viens de réessayer, c'est ok chez moi
l'erreur 1004 voudrait dire ici que les dimensions du tableau "virgules" (virgules: orthographe identique partout?) sont différentes de la plage resize
dans la PJ j'ai modifié sheets(3) en "erratas" et renommer donc l'onglet ainsi
https://www.cjoint.com/?etn3nDG6DC
Je viens de réessayer, c'est ok chez moi
l'erreur 1004 voudrait dire ici que les dimensions du tableau "virgules" (virgules: orthographe identique partout?) sont différentes de la plage resize
dans la PJ j'ai modifié sheets(3) en "erratas" et renommer donc l'onglet ainsi
https://www.cjoint.com/?etn3nDG6DC
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
19 avril 2010 à 15:06
19 avril 2010 à 15:06
Re..
Je crois que Excel nuit gravement à ma santé mentale : je deviens fou !
J'ai exactement un copier/coller de ta macro (module 1) sauf les tableaux "array" où j'ai ajouter mes pages et le nom de l'onglet qui est chez moi "Erreurs" au lieu de "erratas" chez toi.
C'est vraiment toutes les différences entre nos 2 macros.
Effectivement elle marche bien chez toi.
Chez moi par contre, l'erreur 1004 décrite tout à l'heure est bien présente lors de l'exécution.
Pour moi c'est vraiment incompréhensible.
Je crois que Excel nuit gravement à ma santé mentale : je deviens fou !
J'ai exactement un copier/coller de ta macro (module 1) sauf les tableaux "array" où j'ai ajouter mes pages et le nom de l'onglet qui est chez moi "Erreurs" au lieu de "erratas" chez toi.
C'est vraiment toutes les différences entre nos 2 macros.
Effectivement elle marche bien chez toi.
Chez moi par contre, l'erreur 1004 décrite tout à l'heure est bien présente lors de l'exécution.
Pour moi c'est vraiment incompréhensible.
Le Pingou
Messages postés
12242
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
16 mars 2025
1 458
19 avril 2010 à 15:59
19 avril 2010 à 15:59
Bonjour,
Excusez-moi de cette petite intrusion, s'il vous est possible de mettre votre fichier qui fait probléme sur https://www.cjoint.com/ et poster le lien se serait plus simple de trouver la gentillesse ...
Excusez-moi de cette petite intrusion, s'il vous est possible de mettre votre fichier qui fait probléme sur https://www.cjoint.com/ et poster le lien se serait plus simple de trouver la gentillesse ...
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
19 avril 2010 à 16:51
19 avril 2010 à 16:51
Bonjour Jean-Pierre
je venais pour dire la même chose :-)
mais pour des questions de poids et de format, il vaudrait mieux le zipper (pas de .rar) sur
http://cijoint.fr/
plutôt que
cjoint.com
je venais pour dire la même chose :-)
mais pour des questions de poids et de format, il vaudrait mieux le zipper (pas de .rar) sur
http://cijoint.fr/
plutôt que
cjoint.com
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
19 avril 2010 à 17:12
19 avril 2010 à 17:12
Oui, je suis conscient qu'il serait plus simple de fonctionner de cette manière, si ce n'est que je suis en entreprise dans le cadre d'un stage et que cette dernière tient à la confidentialité de ce dossier...
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
19 avril 2010 à 17:25
19 avril 2010 à 17:25
passe par message perso pour le pingou et moi
Le Pingou
Messages postés
12242
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
16 mars 2025
1 458
19 avril 2010 à 17:33
19 avril 2010 à 17:33
Merci michel_m c'est OK pour moi.
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
22 avril 2010 à 08:46
22 avril 2010 à 08:46
Bonjour,
Je ne peux définitivement pas communiquer le fichier. Il représente l'aboutissement de longs mois de travail et je ne suis pas autorisé à le divulguer.
Désolé.
Je ne peux définitivement pas communiquer le fichier. Il représente l'aboutissement de longs mois de travail et je ne suis pas autorisé à le divulguer.
Désolé.
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
22 avril 2010 à 15:42
22 avril 2010 à 15:42
essayes comme ceci, peut-être que...
With Sheets("Erreurs") .Range("B2:F1000").Clear For cptr = 0 To cptr_e - 1 .Cells(2 + cptr, 2) = Erreurs(0, cptr) .Cells(2 + cptr, 3) = Erreurs(1, cptr) Next For cptr = 0 To cptr_v - 1 Cells(2 + cptr, 5) = Virgules(0, cptr) .Cells(2 + cptr, 6) = Virgules(1, cptr) Next .Activate Application.ScreenUpdating = False End With
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
22 avril 2010 à 15:52
22 avril 2010 à 15:52
ligne For cptr = 0 To cptr_e - 1 : Erreur d'execution '6' : dépassement de capacité
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
Modifié par logan989 le 22/04/2010 à 16:00
Modifié par logan989 le 22/04/2010 à 16:00
je rève... Ta macro marche bien dans ton fichier. je l'ai copier/coller dans mon module et devine quoi ? Ca marche pas...
je suis dépitié...
Cette fois on a : erreur d'execution '1004' : Erreur définie par l'application ou par l'objet
La ligne : .Range("B2").Resize(cptr_e, 2) = Application.Transpose(Erreurs)
je suis dépitié...
Cette fois on a : erreur d'execution '1004' : Erreur définie par l'application ou par l'objet
La ligne : .Range("B2").Resize(cptr_e, 2) = Application.Transpose(Erreurs)
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
22 avril 2010 à 17:22
22 avril 2010 à 17:22
Cauchemar plutôt!
demain je vais donner un coup de CD office pour voir, essaies la m^me chose de ton coté.
C'est fou ce truc... ;-(
demain je vais donner un coup de CD office pour voir, essaies la m^me chose de ton coté.
C'est fou ce truc... ;-(
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
23 avril 2010 à 08:41
23 avril 2010 à 08:41
Un coup de CD ?
Le Pingou
Messages postés
12242
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
16 mars 2025
1 458
22 avril 2010 à 19:35
22 avril 2010 à 19:35
Bonjour logan989,
En supposant que les diverses procédures se trouvent dans le module sur lequel vous coller la procédure de michel_m, est-il possible d'obtenir le contenu de votre module copier sur un document Word via un message privé !
En supposant que les diverses procédures se trouvent dans le module sur lequel vous coller la procédure de michel_m, est-il possible d'obtenir le contenu de votre module copier sur un document Word via un message privé !
Le Pingou
Messages postés
12242
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
16 mars 2025
1 458
22 avril 2010 à 21:11
22 avril 2010 à 21:11
Bonjour logan989,
Vous avez copier/coller dans votre module la procédure de michel-m, cependant avez-vous aussi copier/coller les 2 déclarations au niveau du module ?
Dim Erreurs, Virgules
Dim cptr_e As Long, cptr_v As Long
J'ai fait un essai et si (Dim cptr_ ....) manque, j'obtient le message: erreur d'execution '1004' : Erreur définie par l'application ou par l'objet
Vous avez copier/coller dans votre module la procédure de michel-m, cependant avez-vous aussi copier/coller les 2 déclarations au niveau du module ?
Dim Erreurs, Virgules
Dim cptr_e As Long, cptr_v As Long
J'ai fait un essai et si (Dim cptr_ ....) manque, j'obtient le message: erreur d'execution '1004' : Erreur définie par l'application ou par l'objet
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
23 avril 2010 à 08:35
23 avril 2010 à 08:35
Bonjour à vous.
Oui mon module est strictement identique. Il commence bien par :
Dim Erreurs, Virgules
Dim cptr_e As Long, cptr_v As Long
Oui mon module est strictement identique. Il commence bien par :
Dim Erreurs, Virgules
Dim cptr_e As Long, cptr_v As Long
Le Pingou
Messages postés
12242
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
16 mars 2025
1 458
Modifié par Le Pingou le 23/04/2010 à 15:38
Modifié par Le Pingou le 23/04/2010 à 15:38
Bonjour,
Je suppose qu'il y a un disfonctionnement au niveau du classeur; essayer de copier les feuilles du classeur vers un nouveau classeur sans oublier le/les module/s.
Salutations.
Le Pingou
Je suppose qu'il y a un disfonctionnement au niveau du classeur; essayer de copier les feuilles du classeur vers un nouveau classeur sans oublier le/les module/s.
Salutations.
Le Pingou
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
23 avril 2010 à 17:39
23 avril 2010 à 17:39
Bonjour,
effectivement, ta solution de copier sur un nouveau classeur pourrait apporter une solution;sinon...
Cordialement,
Michel
effectivement, ta solution de copier sur un nouveau classeur pourrait apporter une solution;sinon...
Cordialement,
Michel
Le Pingou
Messages postés
12242
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
16 mars 2025
1 458
23 avril 2010 à 21:55
23 avril 2010 à 21:55
Bonjour michel_m,
Eh bien j'ai pensé à cette solution car je suppose qu'il y a eu beaucoup d'essai, d'erreur de code VBA et aussi ajout et suppression de code et dans se sens il serait souhaitable de repartir avec un classeur propre.
Je l'ai déjà expérimenté plusieurs fois.
Il n'y a plus qu'à attendre la réponse de logan989.
Salutations.
Le Pingou
Eh bien j'ai pensé à cette solution car je suppose qu'il y a eu beaucoup d'essai, d'erreur de code VBA et aussi ajout et suppression de code et dans se sens il serait souhaitable de repartir avec un classeur propre.
Je l'ai déjà expérimenté plusieurs fois.
Il n'y a plus qu'à attendre la réponse de logan989.
Salutations.
Le Pingou
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
26 avril 2010 à 14:06
26 avril 2010 à 14:06
Bonjour,
Je suis un peu sur-booké en ce moment mais je vous tiendrai informé.
Merci
Je suis un peu sur-booké en ce moment mais je vous tiendrai informé.
Merci
logan989
Messages postés
38
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 juin 2013
Modifié par logan989 le 7/05/2010 à 13:16
Modifié par logan989 le 7/05/2010 à 13:16
Bonjour,
J'ai copié toutes mes pages dans un fichier vièrge en les faisant glisser et en maintenant la touche Ctrl. Le souci c'est que je me retrouve avec des référence à mon ancien fichier dans toutes les cellules contenant une formule. Est-ce qu'il y a moyen de faire autrement ou dois-je corriger chaques cellules ?
Bbye
J'ai copié toutes mes pages dans un fichier vièrge en les faisant glisser et en maintenant la touche Ctrl. Le souci c'est que je me retrouve avec des référence à mon ancien fichier dans toutes les cellules contenant une formule. Est-ce qu'il y a moyen de faire autrement ou dois-je corriger chaques cellules ?
Bbye
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
7 mai 2010 à 11:29
7 mai 2010 à 11:29
Bonjour,
Excuses moi, mais je n'ai plus cette appli en t^te !...
Excuses moi, mais je n'ai plus cette appli en t^te !...
Le Pingou
Messages postés
12242
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
16 mars 2025
1 458
Modifié par Le Pingou le 7/05/2010 à 14:55
Modifié par Le Pingou le 7/05/2010 à 14:55
Bonjour,
C'est étonnant que vous avez des références à votre ancien fichier.
En marge, vous pouvez mettre le fichier compresser en ZIP ou RAR sur https://www.cjoint.com/ ou http://cijoint.fr/ et poster le lien sur un MP via mon profil.
Salutations.
Le Pingou
C'est étonnant que vous avez des références à votre ancien fichier.
En marge, vous pouvez mettre le fichier compresser en ZIP ou RAR sur https://www.cjoint.com/ ou http://cijoint.fr/ et poster le lien sur un MP via mon profil.
Salutations.
Le Pingou
16 avril 2010 à 13:57
Pour moi qui suis débutant en la matière (première fois que j'approche de près ou de loin une macro) c'est impressionnant !
Je n'ai pas encore saisi tous le principe de fonctionnement mais j'ai testé ta démo et ça marche super!
Merci beaucoup
16 avril 2010 à 14:47