Accueil > Forum > > > > Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel
Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel
lundi 26 novembre 2007 à 16:49:47 |
Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel

alstomman
|
Bonjour, je souhaiterai une aide sur mon codage en VBA sur access. Mon but est grace à un bouton commande, ouvrir la feuille d'un fichier XLS et supprimer des lignes. Suivant ma macro ci-dessous access m'affiche Object requis: "ligne_eff" est la 1er ligne à supprimer!!! Dim xlApp, xlSheet, xlBook As Object Dim ligne_eff As Integer 'J'initialise mes variables
Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open("D:\temp\TERMES.xls") xlBook.Application.Visible = True 'Accède à la feuille
Set xlSheet = xlBook.Sheets("Infos_Termes") 'sélectionner la 1er ligne de l'équipement à éliminer
xlSheet.Rows(ligne_eff & ":" & ligne_eff).select Selection.Range(Selection, Selection.End(xlDown)).Select "BUG=Object requis"'supprimer les lignes de l'équipement xlSheet.Selection.Delete Shift:=xlUp 'Code de fermeture
xlBook.Save 'Saugarder la feuille excel xlApp.Quit 'fermer excel Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing MsgBox "Fin de la procédure. :)"
|
|
mardi 27 novembre 2007 à 00:31:07 |
Re : Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel

MPi
|
Déjà ici il y a un problème. Dim xlApp, xlSheet, xlBook As Object Seul xlBook est déclaré en Object, les 2 autres sont Variant Dim xlApp As Object, xlSheet As Object, xlBook As Object
Puis ici, Tu déclares une variable ligne_eff (à 0 par défaut) mais tu ne lui donnes pas de valeur, donc encore 0 par défaut xlSheet.Rows(ligne_eff & ":" & ligne_eff).select Les lignes ou colonnes 0 n'existent pas sous Excel
Puis si tu sélectionnes comme le code l'indique, il n'est pas nécessaire de le resélectionner xlSheet.Rows(ligne_eff & ":" & ligne_eff).select Selection.Range(Selection, Selection.End(xlDown)).Select
En espérant que ça aide un peu
MPi²
|
|
mardi 27 novembre 2007 à 08:40:28 |
Re : Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel

alstomman
|
Merci pour tes explications MPi. Je dois avouer que cela m'aidé. Par contre, après la sélection de ma 1ère ligne à effacer, faisant référence à : xlSheet.Rows(ligne_eff & ":" & ligne_eff).select, je voudrais sélectionner les lignes suivantes, par la même fonction qu'un CTRL+ALT+flèche vers le bas quand tu es sur la feuille excel, d'ou l'expression Selection.Range(Selection, Selection.End(xlDown)).Select.
Je penne sur cette sélection de ligne pour pouvoir ensuite effacer la sélection complète.
J'attend vos réponse avec impatience.
|
|
mardi 27 novembre 2007 à 11:02:23 |
Re : Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel

alstomman
|
Merci pour tes explications MPi. Je dois avouer que cela m'aidé. Par contre, après la sélection de ma 1ère ligne à effacer, faisant référence à : xlSheet.Rows(ligne_eff & ":" & ligne_eff).select, je voudrais sélectionner les lignes suivantes, par la même fonction qu'un CTRL+ALT+flèche vers le bas quand tu es sur la feuille excel, d'ou l'expression Selection.Range(Selection, Selection.End(xlDown)).Select.
Je penne sur cette sélection de ligne pour pouvoir ensuite effacer la sélection complète.
J'attend vos réponse avec impatience.
|
|
mardi 27 novembre 2007 à 23:27:13 |
Re : Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel

MPi
|
Je ne sais pas comment ton fichier est monté... Mais est-ce que c'est possible pour toi de filtrer une colonne pour avoir seulement les données à effacer ?
Parce que si tu sélectionnes une première ligne puis que tu fais Ctrl-Shift-Flèche bas, toutes les lignes seront sélectionnées puis supprimées. Peut-être que certaines lignes ne le devraient pas ??? C'est pourquoi, sans voir ce que contient le fichier, c'est assez difficile de répondre correctement. Mais peut-être aussi que c'est vraiment ce que tu veux...
Et effectivement, j'avais mal lu la partie du Ctrl-Shift-Flèche bas... J'ai plutôt l'habitude de déterminer la dernière ligne pour la sélectionner dans le Range comme ceci DerniereLigneEcrite = Cells(Rows.Count, "A").End(xlUp).Row Rows(2 & ":" & DerniereLigneEcrite ).select
MPi²
|
|
mercredi 28 novembre 2007 à 08:33:27 |
Re : Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel

alstomman
|
Salut MPi,
Malheureusement, j'ai 2 erreurs: 1ère erreur avec: "erreur de compilation: sub ou fonction non définie" Function effacement() Dim DerniereLigne As Integer 'J'initialise mes variables Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open("D:\temp\TERMES.xls") xlBook.Application.Visible = True 'Accède à la feuille Set xlSheet = xlBook.Sheets("Infos_Termes") DerniereLigne = Cells(Rows.Count, "A").End(xlUp).Row Rows(2 & ":" & DerniereLigne).select 'Code de fermeture xlBook.Save 'Saugarder la feuille excel xlApp.Quit 'fermer excel Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing MsgBox "Fin de la procédure. " & DerniereLigne End Function
ensuite, j'ai fait des modif: 2è erreur: "objet requis" DerniereLigne = xlSheet.Cells(Rows.Count, "A").End(xlUp).Row xlSheet.Rows(2 & ":" & DerniereLigne).select
J'aimerai qu'ensemble nous trouvions la solution de ce END(xlUp). J'ai essayé aussi END(xldown)....rien.
Sinon, j'ai trouvé une autre solution, plus barbare, j'ai rajouté une colonne dans ma table que j'avais copié, grâce, à cette nouvelle colonne, j'ai intégré le nombre de lignes que j'avais copié, ainsi je récupére sur la feuille excel ce chiffre et je l'utilise pour la supression de mes lignes.
J'attend avec impatience tes commentaires sur QUOI porte mes erreurs .
Bonne journée.
|
|
mercredi 28 novembre 2007 à 11:56:58 |
Re : Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel

MPi
|
Commence par déclarer DerniereLigne As LONG pour éviter une erreur de dépassement.
Il faudrait que tu dises sur quelle ligne l'erreur survient avec son numéro + description.
Où et comment sont déclarées tes variables-objets xlApp, xlBook, xlSheet ?
MPi²
|
|
mercredi 28 novembre 2007 à 13:31:37 |
Re : Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel

pynuch88
|
Essaye ca, ca doit retourner le numvero de la derniere ligne :)
xlSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
|
|
jeudi 29 novembre 2007 à 00:02:26 |
Re : Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel

MPi
|
Salut Pynuch, ça donne la dernière ligne si aucune ligne (plus loin) n'a été utilisée. Ma méthode donne exactement la dernière ligne de donnée.
MPi²
|
|
vendredi 30 novembre 2007 à 15:47:39 |
Re : Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel

alstomman
|
Bonjour MPI et Pynuch88, J'ai essayé vos deux méthodes et se fut un echec. Pour MPi, j'ai modifié DerniereLigne en LONG et rien y fait il me donne toujours les mêmes erreurs sur la ligne ou il calcule la dernière ligne DerniereLigne = xlSheet.Cells(Rows.Count, "A").End(xlUp).Row mes variables-objets xlApp, xlBook, xlSheet je les ai déclaré au début de ma macro en Public as Object . Est ce que la version de mon access peut influencer sur ce codage. Description de mon access :Microsoft access 2000 et j'utilise un excel 2000.
Pour pynuch, c'est pareille pas de bonne nouvelle!!!
J'ai trouvé une autre solution plus barbare, mais bon ça marche.
PAR CONTRE COMME JE SUIS TéTU, JE VOUDRAIS BIEN QUE L'ON TROUVE LA SOLUTION!!!!! Rrrrrrrrrrrr !!!
Merci de m'aider encore!! J'attend impatiencement vos réponses!!
|
|
Cette discussion est classée dans : set, ligne, excel, xlapp, xlbook
Répondre à ce message
Sujets en rapport avec ce message
ouvrir excel avec password [ par Clodius13 ]
Bonjour,J'ai besoin d'ouvrir un fichier excel protégé par un password en lecture.j'ai esayé le code suivant mais il ne fonctionne pas. quelqu'un pourr
Impression avec Excel [ par JMKPROD ]
bonjour à tousJ'utilise Excel pour 2000 pour imprimer un état de données provenant d'une base Access 2000. Les données sont injectées dans Excel ligne
Problème lors d'instructions envoyé a excel [ par KatmandouJah ]
Bonjour, J'ai ecris un module chargée d'ouvrir un classeur Excel existant, de creer un autre classeur et de copier une partie du contenu du classeur
Récupérer le contenu de plusieurs feuilles EXCEL [ par krafft ]
Bonjour tout le monde, Je vous expose mon problème. J'ai un fichier EXCEL avec plusieurs feuilles remplies de données et j'aimerais récupérer quelques
excel et VB2005 [ par isokar ]
Bonjour a tousje m'éssai sur 2005 depuis quelques jours et j'ai un souci.je souhaite ouvrir un fichier excel pour faire des modifs dedans donc j'ai ch
données access dans un classeur excel [ par doro81079 ]
Bonjour, j'ai un problème avec une boucle dans access pour remplir un classeur excel si quelqu'un pouvait m'éclairer ce serait cool svp Donc voilà
données access dans un classeur excel [ par doro81079 ]
Bonjour, j'ai un problème avec une boucle dans access pour remplir un classeur excel si quelqu'un pouvait m'éclairer ce serait cool svp Donc voilà
Pb avec VB et excel [ par timcourbet ]
Voila mon pb : Je crée un fichier excel qui va recevoir des données et une image. Pour insérer l'image, j'utilise la fonction suivante : Sub InsertP
vb 6 excel [ par wrndid ]
bonjour jr voudrais savoir comment faire pour eviter de valider la sauvegarde du fichier excel sous vb6voici mon sourcemerciPrivate Sub Command2_Click
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|