Select method of Range class failed

Résolu
campagnie Messages postés 15 Statut Membre -  
campagnie Messages postés 15 Statut Membre -
Bonjour à tous,

je souhaite effectuer la macro suivante :
- feuille 1: on définit les différents voyages effectués chez les clients (les voyages sont définies par le nom du client et le lieux où le client a été rencontré)
- dans la feuille 2, la macro reporte les voyages dans les cellules appropriés (on reporte la date de début et de fin et le lieux)

Les règles sont les suivantes, un voyage sur plusieurs jours doit être reporté sur une même ligne (on peut distinguer les différents voyages selon le lieux et/ou la présence de case vide.

Par exemple :
- ligne 10, j'ai un premier voyage du client A qui doit se reporter en ligne 2 sur la feuille 2
- ligne 11, j'ai un second voyage du client A qui doit se reporter en ligne 3 sur la feuille 2
- ligne 15 à 18, j'ai un dernier voyage du client A qui doit se reporter en ligne 4 sur la feuille 2

J'ai essayé plusieurs méthode et la macro que j'ai ne fonctionne pas. Le message "Select method class failed" apparait sans que je ne sache pourquoi.

Si vous avez des idées, je suis preneur.

3 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Re,
    1/ Excel anglophone ?
    2/ ton tableau final est en feuille2 dans la macro en feuille3, pourquoi ?
    3/ d'après ce tableau, le nombre de placement est limité à 5 ?

    1
    1. campagnie
       
      Bonjour,
      J'ai essayé de passer par une étape intermédiaire en copiant l'ensemble des lignes qui m'intéressent en feuille 3 pour ensuite différencier les différents "voyages" et les replacer en feuille deux.
      Le nombre de voyage est limité à 5 par client. Par contre, il n'y a pas de limites quand à la durée du voyage.
      Par exemple, si je pars à Londres chez le client À du 7 au 13 février, il faut que ce soit considéré comme un seul voyage. Mais dans ma feuille 1, il faut que je remplisse les lignes correspondantes.

      De ce fait, j'avais pensé à différencier les voyages selon la destination (car je peux rencontrer le client à Paris et à Londres) et les cellules vides entre deux voyages. Mais je n'ai pas encore su arriver jusque là. J'ai ce message d'erreur que je ne comprends pas.
      0
    2. campagnie
       
      Enfin, mon Excel est bien en anglais.
      0
    3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > campagnie
       
      rappel:
      Excel anglophone ?
      0
    4. campagnie > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Oui excel est bien en anglais, je l'avais écrit si le message ci dessus
      0
    5. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > campagnie
       
      Tu as mis tes macros dans le module feuille1
      dans ce cas
      DestinationSheet.Activate
      Range("A2").Select

      Vba ne travaille que sur les cellules de la feuille 1 d'où l'erreur
      mets tes macros dans un module standard (insérer-module) et ca fonctionne

      D'autre part, activecell se trouve en colonne A de source car tu as écrit
      SourceSheet.Activate
      Range("A2").Select

      dans la macro "travel" tu écris
      ActiveCell.Offset(0, -1) = Name
      donc ca plante
      voir avec
      ActiveCell = Name

      ton idée d'une feuille intermédiaire complique plutôt qu'autre chose mais c'est toi le maitre d'œuvre
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    Comme tu n'as pas transmis le code, on ne peut pas t'expliquer le pourquoi du message d'erreur ou mieux
    Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
    et faire un clic droit-coller le raccourci dans votre message

    Dans l’attente

    0
  3. campagnie
     
    Bonjour merci de votre retour, le fichier est présent sur le lien ci dessous :
    https://mon-partage.fr/f/6FBu3IR9/

    Cordialement.
    0