IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Sélection case + copie


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur Mécanique/ Amélioration Continue
    Inscrit en
    Décembre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Mécanique/ Amélioration Continue
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Sélection case + copie
    bonjour,

    ci-dessous un programme ou j'ai voulue cherchez une case et puis sélectionner une case au dessous de celle là et faire un collage des données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub Saisie()
    Dim A As String
    Dim k As String
    Dim i As Integer
     
     
     
     
    A = Sheets("Saisie des données").[B6]
      ligne = Sheets(A).[B65000].End(xlUp).Row + 1
      With Sheets(A)
        .Cells(ligne, 1) = Sheets("Saisie des données").[B5]
        .Cells(ligne, 2) = Sheets("Saisie des données").[B7]
        .Cells(ligne, 3) = Sheets("Saisie des données").[B8]
        .Cells(ligne, 4) = Sheets("Saisie des données").[B9]
        .Cells(ligne, 6) = Sheets("Saisie des données").[B10]
        .Cells(ligne, 7) = Sheets("Saisie des données").[B11]
        .Cells(ligne, 8) = Sheets("Saisie des données").[B12]
      End With
      Sheets("Saisie des données").[B7].ClearContents
      Sheets("Saisie des données").[B8].ClearContents
      Sheets("Saisie des données").[B9].ClearContents
      Sheets("Saisie des données").[B10].ClearContents
      Sheets("Saisie des données").[B11].ClearContents
      Sheets("Saisie des données").[B12].ClearContents
     
    Sheets("Tableau Données").Select
     
    For i = 1 To 365
    If (ActiveSheet.Cells(3, i)) = ActiveSheet.Cells(47, 4) Then k = i
     
    Next
    MsgBox (k)
    Sheets("Tableau collecte données").Select
    Range("C5:C34").Select
    Selection.Copy
    Sheets("Tableau Données").Select
    Range(5, k).Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
    xlNone, SkipBlanks:=False, Transpose:=False
     
     
    End Sub
    le problème ce que j'ai un message "1004" au niveau de Range(5,k).select !!!
    Ce que j'ai compris que il y a un problème avec la variable k, car lorsque je la change par une constante le programme fonctionne ! et aussi l'afichage de la variable cas fonctionne et elle est bien une constante !
    Avez vous des idées ?

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,

    je n'ai pas cherché à comprendre ce que tu cherches à faire mais te propose une amélioration, déjà en passant "k" en "Long" et non "String"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub Saisie()
    Dim A As String
    Dim k As Long
    Dim i As Long
     
     
     
    A = Sheets("Saisie des données").[B6]
    ligne = Sheets(A).[B65000].End(xlUp).Row + 1
    With Sheets(A)
      .Cells(ligne, 1) = Sheets("Saisie des données").[B5]
      .Cells(ligne, 2) = Sheets("Saisie des données").[B7]
      .Cells(ligne, 3) = Sheets("Saisie des données").[B8]
      .Cells(ligne, 4) = Sheets("Saisie des données").[B9]
      .Cells(ligne, 6) = Sheets("Saisie des données").[B10]
      .Cells(ligne, 7) = Sheets("Saisie des données").[B11]
      .Cells(ligne, 8) = Sheets("Saisie des données").[B12]
    End With
    For i = 7 To 12
      Sheets("Saisie des données").Range("B" & i).ClearContents
    Next i
    With Sheets("Tableau Données")
      For i = 1 To 365
        If .Cells(3, i) = .Cells(47, 4) Then k = i
      Next
    End With
    MsgBox k
    With Sheets("Tableau collecte données")
      .Range("C5:C34").Copy
      Sheets("Tableau Données").Range(5, k).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
      xlNone, SkipBlanks:=False, Transpose:=False
    End With
     
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 667
    Points : 1 419
    Points
    1 419
    Par défaut
    Bonjour,

    Quand c'est le numéro de ligne et le numéro de colonne que tu passes en paramètre, il ne faut pas utiliser la propriété Range mais Cells.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Ingénieur Mécanique/ Amélioration Continue
    Inscrit en
    Décembre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Mécanique/ Amélioration Continue
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    casefayere, Promethee25,

    Merci infiniment !! grâce à vous mon problème est résolus

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/05/2011, 21h29
  2. Réponses: 6
    Dernier message: 15/11/2010, 09h47
  3. erreur de compilation aide svp
    Par selmani300 dans le forum C++
    Réponses: 5
    Dernier message: 27/03/2009, 14h37
  4. Problème restauration avec Nero, aide svp
    Par capone dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 12/08/2006, 22h37
  5. [C#] Problème d'héritage, aide svp :(
    Par choas dans le forum Windows Forms
    Réponses: 12
    Dernier message: 06/05/2006, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo