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

Macros et VBA Excel Discussion :

Problème avec une macro faisant apel à un tableau Excell


Sujet :

Macros et VBA Excel

  1. #41
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    C'est bizarre il ne copie rien du tout.
    Je crois il comprend pas ce que je lui demande. J'ai renommé mes cellules comme tu m'as dit donc dans mon tableau, au lieu d'avoir ça :

    C D E
    Infogerance Progiciel Logiciel
    A1 A1 A2
    A2 A6 A4
    A10 A7 A20
    A30 A35 A40
    A45

    J'ai ça:

    C D E
    Infogerance Progiciel Logiciel
    Scoring Scoring Scoring
    Juridique PrixType Solvabilité

    (est-ce qu'il faut mettre des "" ou des '' autour??)
    Mais il y a un truc qui ne va pas dans mon programme.

  2. #42
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Je crois surtout qu'on ne s'est pas du tout compris

    Il faut faire la meme chose que ce que tu as fait pour la cellule "nomprojet". Comme ce nom est unique dans le classeur il n'y a meme pas besoin de preciser la feuille.

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FL3.Range(Cells(1, i)).Copy Destination:=Range("Infogerance")
    Mais tu peux aussi faire des copies de plage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FL3.Range("A1:A3").Copy Destination:=Range("Plage de destination")
    Avec Plage de destination qui recouvre C20:C22 de la 50eme feuille de ton classeur par exemple

    Encore plus fort, tu peux renommer les plages source et destination
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("Plage source").Copy Destination:=Range("Plage de destination")
    En plus en faisant comme ca tu peux meme inserer / supprimer des lignes / colonnes sans modifier ton programme (a condition que les plages ne changent pas de nom et qu'elles aient la meme taille).

    C'est plus clair maintenant ?

  3. #43
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    ok ba tu m'expliquera ce que tu voulais dire.
    A tout'

  4. #44
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je reprends tout au début.
    Citation Envoyé par Tu
    je voudrais que selon le type de projet, quand je clic sur le bouton, il ne selectionne pas tout le tableau mais qu'il ne selectionne que le cellules que je lui indique dans la feuille nommé "type de projet".
    Ensuite, tu mets
    Sheets("Evaluation risque").Range("A1:H42").Copy Destination:=Sheets(Sheets("Couverture").Range("nomprojet").Text).Range("A1")
    Avec ce code, tu colles la plage ("A1:H42") feuille ("Evaluation risque") à partir de la cellule A1 de la feuille dont le nom est contenu dans la feuille "Couverture", Range("nomprojet")
    A quoi tu ajoutes
    et en fait à la place de séléctionné les cellules A1à H42 de la feuille évaluation risque, je veux copier que certaines cellules. La liste de ces cellules sont repertoriés dans la feuille "Types de projet" en colonne selon le type de projet et ça commence à la colonne C.
    Donc, tu veux copier les cellules de la feuille "Evaluation risque" dont la liste se trouve dans la feuille "Types de projet", colonne Sheets("Couverture").Range("nomprojet")
    Question : Tes colonnes sont-elle nommées ou l'en-tête reprend-il exactement le nom du type de projet ?
    Tu dis
    Si j'ai mal compris, tu dis aussi
    A+

    PS - Pas embrouillé pour deux sous ton truc

  5. #45
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    T'as tout compris. J'ai nommé toute mes colonnes.
    Ca me casse la tete aussi et crois moi, si je n'étais pas obligé, je ne le ferais pas!!!!!!!

  6. #46
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Bonjour bonjour,
    Ce week end t'as t il apporte son lot de reponses ou bien ca ne marche toujours pas (au vu de ton message precedent je suppose que non). Tu en es ou ? Ca copie quelque chose ou toujours pas ?

  7. #47
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    ca marche, ca rentre dans la boucle et tout mais ca ne copie toujours rien, je comprend pas pourquoi!!!!

  8. #48
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    A ce niveau là, le mieux serait de nous joindre ton fichier. si tu as un pb de confidentialité, modifie les champs concernés mais attention de bien laisser les noms de colonnes et de cellules, sinon on sera perdu
    A+

  9. #49
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    Ok voila le fichier
    Fichiers attachés Fichiers attachés

  10. #50
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Bon bon bon, ta macro marche parfaitement. Elle fait exactement ce que tu lui demandes, a savoir copier des cellules vides ...

    Il s'agit d'un probleme d'algorithme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 3 To 10
          If FL1.ComboBox1.Text = FL2.Cells(1, i).Value Then
            FL3.Cells(1, i).Copy Destination:=Sheets(FL1.Range("nomprojet").Value).Range("A1")
          End If
    Next i
    Si on prend progiciel ca donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    i=4
    Fl3.cells(1,4).copy Destination:=Sheets(FL1.Range("nomprojet").Value).Range("A1")
    Or il n'y a rien dans les cellules Fl3.cells(1,i) pour i > 2

    Donc, il faut que tu expliques ce que tu veux copier dans chaque cas (avec des phrases, pas du code puisqu'il marche ).

    Edit:
    bon apres reflexion et essais, il ne semble pas possible de copier avec la methode range("nomdescellule") si celles ci sont dans des variables. Je cherche un moyen de faire marcher tout ca.

  11. #51
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Bon en fait si c'est possible, je m'etais trompe de FL

    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
    Private Sub Valider_Click()
    Dim i As Integer
    Set FL1 = Sheets("Couverture")
    Set FL2 = Sheets("Types de projets")
    Set FL3 = Sheets("Evaluation risque")
     
    Sheets.Add.Name = FL1.Range("nomprojet").Text
     
        For i = 3 To 10
          If FL1.ComboBox1.Text = FL2.Cells(1, i).Value Then
            FL3.Range(FL2.Cells(2, i).Value).Copy Destination:=Sheets(FL1.Range("nomprojet").Value).Range("A1")
            FL3.Range(FL2.Cells(3, i).Value).Copy Destination:=Sheets(FL1.Range("nomprojet").Value).Range("A4")
     
          End If
        Next i
    Set FL1 = Nothing
    Set FL2 = Nothing
    Set FL3 = Nothing
    End Sub
    Vala miss

  12. #52
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par tonton fred
    Bon en fait si c'est possible, je m'etais trompe de FL
    C'est bien ce qu'il me semblait mais je ne voulais pas t'accabler

  13. #53
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    C'est génial, merci beaucoup beaucoup beaucoup, c'est super sympa
    passez une bonne journée
    merci encore
    a+

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. [XL-2003] problème avec une macro décimale
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 25/11/2010, 10h34
  2. [XL-2007] problème avec une macro TCD
    Par wsanchez dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/06/2009, 21h05
  3. problème avec une macro
    Par jeanjack dans le forum Débuter
    Réponses: 2
    Dernier message: 21/04/2009, 09h32
  4. Problème avec une macro
    Par Nyck0las dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 28/11/2007, 15h04
  5. Problème avec une macro impression
    Par Border_xls dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/11/2007, 15h18

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