Error 1004 VBA avec GEF acomba
Résolu/Fermé
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
-
7 juin 2017 à 17:01
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 9 juin 2017 à 08:37
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 9 juin 2017 à 08:37
A voir également:
- Error 1004 VBA avec GEF acomba
- Network error ✓ - Forum Réseaux sociaux
- Vba range avec variable ✓ - Forum VB / VBA
- Incompatibilité de type vba ✓ - Forum Programmation
- Erreur 1004 vba ✓ - Forum Excel
- Network error iptv - Forum Réseaux sociaux
7 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
7 juin 2017 à 17:31
7 juin 2017 à 17:31
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
7 juin 2017 à 17:06
7 juin 2017 à 17:06
Re,
Y a une ligne visible en erreur?
Y a une ligne visible en erreur?
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
7 juin 2017 à 17:10
7 juin 2017 à 17:10
non aucune ...
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
7 juin 2017 à 17:20
7 juin 2017 à 17:20
Re,
Mettez des points d'arret a toutes les lgnes et lancez. Quand ca s'arrete sans erreur, vous appuyez sur F5 et ainsi de suite
Mettez des points d'arret a toutes les lgnes et lancez. Quand ca s'arrete sans erreur, vous appuyez sur F5 et ainsi de suite
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
7 juin 2017 à 17:24
7 juin 2017 à 17:24
Je comprends l'idée, mais comment faire pour mettre des points d'arrêt, je ne connais pas ça.
Merci de m'aider
Merci de m'aider
Je te propose ce code VBA, qui est plus simple :
Ça devrait mieux marcher pour ton fichier excel GEF ;
et tu devrais l'utiliser aussi pour ton fichier excel
indépendant.
⚠ Si une ligne > 32 767, mettre Dim lig As Long
au lieu de Dim lig As Integer
Sub Macro1() Dim lig As Integer: Application.ScreenUpdating = False ' affiche toutes les lignes Rows("1:" & Rows.Count).Hidden = False ' des lignes 10 à 370, masque les lignes où il y a ' un "M" en colonne I For lig = 10 To 370 If Cells(lig, 9) = "M" Then Rows(lig).Hidden = True Next lig End Sub
Ça devrait mieux marcher pour ton fichier excel GEF ;
et tu devrais l'utiliser aussi pour ton fichier excel
indépendant.
⚠ Si une ligne > 32 767, mettre Dim lig As Long
au lieu de Dim lig As Integer
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
8 juin 2017 à 15:44
8 juin 2017 à 15:44
Ça marche super bien dans mon excel indépendant, mais encore une fois dans mon excel GEF, l'erreur 1004 apparait...
j'ai essayé Dim lig as Long aussi et les deux ne fonctionnent pas.
Merci quand même, il doit y avoir une incompatibilité quelconque avec le GEF où je ne sais pas ...
Merci encore
j'ai essayé Dim lig as Long aussi et les deux ne fonctionnent pas.
Merci quand même, il doit y avoir une incompatibilité quelconque avec le GEF où je ne sais pas ...
Merci encore
gérard
>
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
8 juin 2017 à 16:28
8 juin 2017 à 16:28
Pour la 1ère étape, as-tu réellement besoin d'afficher toutes les lignes du
classeur (donc de 1 à 1 048 576) ? si oui, inutile de lire la suite ; sinon :
En supposant que pour la 1ère étape d'affichage des lignes tu peux te
contenter de la seule plage des lignes 10 à 370, cette étape peut être
scindée avec la seconde étape de masquage des lignes 10 à 370 qui
contiennent "M" en colonne I ; ce qui donne ce nouveau code VBA :
Sub Macro1() Dim lig As Integer: Application.ScreenUpdating = False ' pour les lignes 10 à 370, masque celles où il y a ' un "M" en colonne I et affiche les autres For lig = 10 To 370 Rows(lig).Hidden = Cells(lig, 9) = "M" Next lig End Sub
En faisant ainsi, peut-être que ton erreur 1004 ne se produira plus,
du fait que l'affichage des lignes est réalisé pour la seule plage des
lignes 10 à 370 ? (peut-être que les autres lignes ont un contenu
particulier qui provoque cette erreur 1004 ?)
Sinon, tu devrais chercher et indiquer ici à quoi correspond cette
erreur 1004 dans ton GEF excel acomba : libellé exact de l'erreur
et pour quel(s) cas cette erreur se produit.
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
8 juin 2017 à 17:19
8 juin 2017 à 17:19
Merci gérard.
Malheureusement, j'ai encore mon error 1004 erreur définie par l'application ou par l'objet, qui se produit et je ne peux savoir ce que c'est puisque je dois faire ctrl + alt + delete pour fermer le excel complètement...
C'était bien pensé puisqu'effectivement, je n'avais pas besoin d'afficher tous les lignes.
Je continue à essayer toute sorte de chose et peut-être nous y arriverons !!
Merci encore.
Malheureusement, j'ai encore mon error 1004 erreur définie par l'application ou par l'objet, qui se produit et je ne peux savoir ce que c'est puisque je dois faire ctrl + alt + delete pour fermer le excel complètement...
C'était bien pensé puisqu'effectivement, je n'avais pas besoin d'afficher tous les lignes.
Je continue à essayer toute sorte de chose et peut-être nous y arriverons !!
Merci encore.
gérard
>
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
8 juin 2017 à 18:20
8 juin 2017 à 18:20
Je ne connais pas GEF Excel acomba, mais je viens de penser que l'instruction
Application.ScreenUpdating = False doit être une instruction spécifique d'Excel,
donc elle ne doit pas être comprise par GEF Excel ! si oui, ce serait donc elle
qui provoque l'erreur 1004 ; or tu peux la supprimer sans problème, et je crois
que ça pourra marcher ainsi :
Sub Macro1() Dim lig As Integer ' pour les lignes 10 à 370, masque celles où il y a ' un "M" en colonne I et affiche les autres For lig = 10 To 370 Rows(lig).Hidden = Cells(lig, 9) = "M" Next lig End Sub
En fait, dans Excel, Application.ScreenUpdating = False sert seulement
à geler la mise à jour de l'écran pendant l'exécution de la macro, ce qui
en accélère l'exécution ; et Application est l'objet Excel lui-même, alors
que ton application est GEF acomba (Générateur d'États Financiers).
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
8 juin 2017 à 19:13
8 juin 2017 à 19:13
Non, ça ne marche pas :( mais lorsque je garde mon entrer enfoncé, je peux voir les lignes ce masquer malgré le message d'erreur, toutefois il va ensuite effacer le nom du compte dans la colonne B ce qui ne faut pas ...
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
Modifié le 7 juin 2017 à 23:09
Modifié le 7 juin 2017 à 23:09
Bonjour,
mettre un simple filtre auto pour masquer tes "M" n'est pas suffisant ?
C'est prévu pour...
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
mettre un simple filtre auto pour masquer tes "M" n'est pas suffisant ?
C'est prévu pour...
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
8 juin 2017 à 07:39
8 juin 2017 à 07:39
Bonjour a tous,
Son probleme n'est pas avec du VBA Excel mais avec du VBA via GEF Acomba qui apparemment est un peu capricieux, mais je ne connais pas alors....
Son probleme n'est pas avec du VBA Excel mais avec du VBA via GEF Acomba qui apparemment est un peu capricieux, mais je ne connais pas alors....
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
8 juin 2017 à 07:51
8 juin 2017 à 07:51
Bonjour f894009,
Ah, je pensais que ça se contentait de fournir des données mais qu'on était dans de l'excel pur.
Je ne connais pas non plus :-)
eric
Ah, je pensais que ça se contentait de fournir des données mais qu'on était dans de l'excel pur.
Je ne connais pas non plus :-)
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 705
8 juin 2017 à 18:28
8 juin 2017 à 18:28
Bonjour à tous,
Je ne connais non plus ton excel GEF mais je pense que la macro ne sais pas où elle se trouve. Vba excel fonctionne a priori par défaut sur la feuille active mais il me semble que tu pourrais essayer de le préciser ainsi avec la macro de gérard.
Je ne connais non plus ton excel GEF mais je pense que la macro ne sais pas où elle se trouve. Vba excel fonctionne a priori par défaut sur la feuille active mais il me semble que tu pourrais essayer de le préciser ainsi avec la macro de gérard.
Sub Macro1() Dim lig As Integer: Application.ScreenUpdating = False With ActiveSheet ' affiche toutes les lignes .Rows("1:" & .Rows.Count).Hidden = False ' des lignes 10 à 370, masque les lignes où il y a ' un "M" en colonne I For lig = 10 To 370 If .Cells(lig, 9) = "M" Then .Rows(lig).Hidden = True Next lig End With End Sub
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
8 juin 2017 à 19:16
8 juin 2017 à 19:16
Malheureusement, ce n'est pas la raison de l'erreur 1004 ...
J'y avait déjà également pensé, mais en réessayant ce n'est toujours pas la raison..
J'y avait déjà également pensé, mais en réessayant ce n'est toujours pas la raison..
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 705
9 juin 2017 à 08:37
9 juin 2017 à 08:37
Bonjour christ.lenoir,
l'autre pour masquer les lignes et ça marche super bien.
Si ta macro fonctionne sur autre onglet et pas sur le premier, cela vient sans doute de ta façon de l'appeler qui doit être différente car tu es sur le même classeur et l'erreur 1004 est dûe à l'impossibilité de positionnement sur une plage.
l'autre pour masquer les lignes et ça marche super bien.
Si ta macro fonctionne sur autre onglet et pas sur le premier, cela vient sans doute de ta façon de l'appeler qui doit être différente car tu es sur le même classeur et l'erreur 1004 est dûe à l'impossibilité de positionnement sur une plage.
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
8 juin 2017 à 19:23
8 juin 2017 à 19:23
J'essaie maintenant la simple macro de masquer des lignes sans même les afficher et ça ne fonctionne pas. Par contre, lorsque je garde mon entrer enfoncé jusqu'à ce que le message d'erreur s'en va, j'arrive à mes fins...
Sub Masquer_lignes()
'
' Pour masquer les lignes
Dim ligne As Integer
For ligne = 33 To 70
If Cells(ligne, 9) = "M" Then
Rows(ligne & ":" & ligne).EntireRow.Hidden = True
End If
Next
End Sub
L'erreur ce trouve donc la dedans, mais dans un excel indépendant, ça marche super bien ...
Sub Masquer_lignes()
'
' Pour masquer les lignes
Dim ligne As Integer
For ligne = 33 To 70
If Cells(ligne, 9) = "M" Then
Rows(ligne & ":" & ligne).EntireRow.Hidden = True
End If
Next
End Sub
L'erreur ce trouve donc la dedans, mais dans un excel indépendant, ça marche super bien ...
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
8 juin 2017 à 20:17
8 juin 2017 à 20:17
Pas une solution à ton pb mais peut-être le message d'erreur à valider une fois ou deux seulement :
en attendant de trouver la cause réelle...
eric
Sub Macro1() Dim lig As Long, pl As Range For lig = 10 To 370 If Cells(lig, 9) = "M" Then If pl Is Nothing Then Set pl = Cells(lig, 9) Else Set pl = Union(pl, Cells(lig, 9)) End If End If Next lig ' affiche toutes les lignes Rows.Hidden = False ' des lignes 10 à 370, masque les lignes où il y a ' un "M" en colonne I If Not pl Is Nothing Then pl.EntireRow.Hidden = True End Sub
en attendant de trouver la cause réelle...
eric
christ.lenoir
Messages postés
38
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 septembre 2017
8 juin 2017 à 20:33
8 juin 2017 à 20:33
Malheureusement non, toujours ce foutu message d'erreur ...
merci quand même
merci quand même
7 juin 2017 à 18:22