begin process at 2012 02 17 05:36:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Erreur de copie Range


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur de copie Range

mercredi 13 juin 2007 à 13:32:03 | Erreur de copie Range

BiGOuF

Bonjour à toutes et à tous,

Je vous soumet ici un problème fort embettant.

Je dois, via une macro(Office 2003) copier le contenu de certaines parties d'une sheet d'un autre fichier excel dans une de mes Sheet, et il me fait une erreur de Range("").selection , je m'explique.

Chaque jour, un fichier est généré (il contient plusieures sheet), et je voudrai donc que ma macro, à la fin du mois, me permettent de faire un résumé mensuel, et pour ce, il doit aller ouvrir le fichier de chaque jour, ouvrir la sheet adéquate, et séléctionner certaines cellules de cette sheet, pour les rassembler dans une sheet unique.
J'ai donc, pour m'aider (je suis débutant), enregistré une macro me permettant de faire la manipulation pour un fichier, que j'ai implémenté dans une boucle For, me permettant ainsi de fonctionner pour chaque mois.

Voici donc mon code

Private Sub cmd_executer_copies_Click()
annee = Range("B2")
mois = Range("C2")
If mois = "01" Or mois = "03" Or mois = "05" Or mois = "07" Or mois = "08" Or mois = "10" Or mois = "12" Then
jours = 31
ElseIf mois = "02" Then
    If annee Mod 100 = 0 And annee Mod 400 = 0 Then
        jours = 29
    ElseIf annee Mod 100 <> 0 And annee Mod 4 = 0 Then
        jours = 29
    Else: jours = 28
    End If
Else
    jours = 30
End If
For i = 1 To jours
    If i < 10 Then
        j = "0" & i
    Else
        j = i
    End If
        ChDir "Z:\Opl_cs\" & annee & "\Reports\Comparison_Markets_New\" & annee & "-" & mois & ""
    Workbooks.Open Filename:= _
        "Z:\Opl_cs\" & annee & "\Reports\Comparison_Markets_New\" & annee & "-" & mois & "\Comp_Mark_" & annee & mois & j & ".XLS"
    Sheets("Données").Select
    Range("A1").Activate
    Range("A1:A26,H1:K26").Select
   '<---Endroit où se situe l'erreur'1004' La méthode Select de la classe Range à échoué
    Range("H1").Activate
    Selection.Copy
    Windows("Copies.xls").Activate
    Range("A" & i * 26 + 2 & "").Paste
    Windows("Comp_Mark_" & annee & mois & j & ".XLS").Close
Next i
End Sub


Je vous remercie d'avance si vous pouvez m'aider à résoudre ce problème :)

PS : Le code n'est pas parfait, mais il s'agit d'un premier jet.
mercredi 13 juin 2007 à 13:36:58 | Re : Erreur de copie Range

Drikce06

Membre Club
Salut chez moi ça fonctionne, mais ça revient au même que de faire ça Range("A1:K26").Select


Sinon juste avant seul sheets("").select suffit.
   Sheets("Données").Select
    Range("A1").Activate



 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
mercredi 13 juin 2007 à 13:40:45 | Re : Erreur de copie Range

Drikce06

Membre Club
Ben maintenat ça prend bien les deux colonnes! Bizzard!

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
mercredi 13 juin 2007 à 13:50:50 | Re : Erreur de copie Range

BiGOuF

Salut chez moi ça fonctionne, mais ça revient au même que de faire ça Range("A1:K26").Select <-- Malheureusement, non, car je ne dois pas prendre ce qu'il y a entre le A et le H , donc, je dois me limiter à A1->A26  et H1->K26 :)

Et concernant le Range("A1").Activate, j'ai oublié de le supprimer dans mon paste d'ici, mais l'erreur est toujours là ('1004' La méthode Select de la classe Range à échoué).

J'avoue que je ne comprend pas vraiment l'erreur qu'il me donne.
J'ai consulté l'aide, et ils expliquent que le problème peut venir du fait que les colonnes soient vides .... or, ce n'est pas le cas :s
mercredi 13 juin 2007 à 13:56:39 | Re : Erreur de copie Range

Drikce06

Membre Club
C'est bon voir mon deuxième poste.

Cette erreur arrive souvent avec la méthode copy, on dirait qu'il s'embrouille avec les feuilles et les classeurs

Essaye:
ActiveWorkbook. Sheets("Données").Select
ActiveWorkbook. Sheets("Données").Range("A1:A26,H1:K26").Select

Selection.Copy



 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
mercredi 13 juin 2007 à 14:09:25 | Re : Erreur de copie Range

jmfmarques

Membre Club
Salut à tous,

Jamais corrigé ni même invité à corriger ses errements, BigOuf continuera "ad vitam eternam" , je le crains,  à poster dans la présente section (VB.Net) ses quesqtions relatives à VBA.
Responsabilité partagée, donc, dans ce genre d'affaire...
mercredi 13 juin 2007 à 14:12:27 | Re : Erreur de copie Range

Drikce06

Membre Club
Ha oui! J'avais pas vu! En fait je regarde même plus les catégorie je regarde que les post, elles de plus en plus à rien les catégorie.

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
mercredi 13 juin 2007 à 14:13:08 | Re : Erreur de copie Range

BiGOuF

Private Sub cmd_executer_copies_Click()
annee = Range("B2")
mois = Range("C2")
If mois = "01" Or mois = "03" Or mois = "05" Or mois = "07" Or mois = "08" Or mois = "10" Or mois = "12" Then
jours = 31
ElseIf mois = "02" Then
    If annee Mod 100 = 0 And annee Mod 400 = 0 Then
        jours = 29
    ElseIf annee Mod 100 <> 0 And annee Mod 4 = 0 Then
        jours = 29
    Else: jours = 28
    End If
Else
    jours = 30
End If
For i = 1 To jours
    If i < 10 Then
        j = "0" & i
    Else
        j = i
    End If
    ChDir "Z:\Opl_cs\" & annee & "\Reports\Comparison_Markets_New\" & annee & "-" & mois & ""
    Workbooks.Open Filename:= _
    "Z:\Opl_cs\" & annee & "\Reports\Comparison_Markets_New\" & annee & "-" & mois & "\Comp_Mark_" & annee & mois & j & ".XLS"
    ActiveWorkbook.Sheets("Données").Select
    ActiveWorkbook.Sheets("Données").Range("A1:A26,H1:K26").Select
    Selection.Copy
    Windows("Copies.xls").Activate
    ActiveWorkbook.Sheets("Feuil2").Select
    ActiveWorkbook.Sheets("Feuil2").Range("A" & i * 26 + 2 & "").Select
    ActiveWorkbook.Sheets("Feuil2").Range("A" & i * 26 + 2 & "").Paste
  '<--- Erreur d'exécution '438': Proprieté ou méthode non gérée par cet objet
    Windows("Comp_Mark_" & annee & mois & j & ".XLS").Close
Next i
End Sub




Et ben, j'ai vraiment pas de chance moi ;)

J'espère qu'on va pas me dire de laisser tomber ca, je cherche depuis le début de la journée ;)

Merci d'avance en tout cas.
mercredi 13 juin 2007 à 14:15:07 | Re : Erreur de copie Range

Drikce06

Membre Club
Selection.Paste

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
mercredi 13 juin 2007 à 14:17:38 | Re : Erreur de copie Range

Drikce06

Membre Club
Et au passage, essaye de poster dans la bonne catégorie s'il te plait, parce que je sais pas si tu l'as remarqué sur d'autres post mais ça énerve beaucoup de monde.

Thèmes
/ Visual Basic 6 / Langages dérivés / VBA /

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

1 2 3

Cette discussion est classée dans : annee, range, mois, jours, sheet


Répondre à ce message

Sujets en rapport avec ce message

Nb de jours ds un mois [ par Whip ] Existe-il une fonction qui donne le nb de jours ds un mois? Sinon, comment la créer ? combobox -> itemdata [ par bibilafrayeur ] Salut à tous,voici mon petit problème, j'ai trois liste déroulante, une première qui affiche les jours (de 1 à 31) !une 'autre qui affiche les mois (D Problème de calendrier et de nettoyage de cellules [ par THiOoOuZZ ] Salut a tous cela fait maintenant 1 semaine que je m interesse de très près a vb au cours de mon stage puisque je dois planifier la maintenance d une histogramme vba exel [ par eryk17 ] bjr a tous !je voudrai faire un macro qui crée un histogramme de tous les week end dans 1 mois de 31 jours. j'essaye d'utiliser la fonction weekday qu intervalle de temps [ par wholehog2 ] bonjour,Je suis débutant et je cherche à faire une fonction (sous vb.net) qui me permet de donner une durée entre 2 dates sous cette forme :3 ans 8 mo vba exel histogramme [ par eryk17 ] bjr a tous !je voudrai faire un macro qui crée un histogramme de tous les week end dans 1 mois de 31 jours.j'essaye d'utiliser la fonction weekday qui Tableau pas possible garder valeur [ par Richard_9 ] Bonjour,j'essaie d'initialiser un tableau avec des valeurs d'un sheet.J'ai essayé STATIS, GLOBAL, DIM, REDIM, Redim static dans tous les sens possible Nombre de jours du mois. [ par alikote ] Je vous salue tous,Voilà j'aime écrire des choses en VBA (Excel et/ou Word). J'ai besoin d'une procédure (ou méthode) ou fonction qui puisse me dire e Message d'erreur : "Impossible d'élargir la plage des données" [ par pataccess ] Bonjour , J'ai encore un problème avec mon access ! Je suis toujours sur la fin de mon projet ! Mais maintenant j'ai une nouvelle surprise.  Access me Compteur de temps [ par Rantanplan9 ] bonjour tout le monde, voila mon probleme : j'aimerai faire un prog qui incrémente le temps ttes les secondes ... facile quand on n'a que des heures,


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,919 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales