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 :

nbre de lignes variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 107
    Par défaut nbre de lignes variables
    Bonjour
    Je voudrais effectuer des opérations du style copier coller une colonne d'un tableau vers une autre colonne, ou encore extraire les données de 3 tableaux les uns au dessus des autres, mais, d'une part ne pas changer les énoncés du tableau , et d'autre part faire en sorte que l'on puisse ajouter des lignes aux tableau (donc sélection de la plage a copier coller qui changerait...).
    Comment, par exemple, effectuer lecopier coller de I6:I11 à H6:H11?sachant que le tableau pourrait, plus tard finir par exemple à 12...
    c'est une sorte de tableau dynamique...

    Autre petite question, comment faire pour que VBA ne modifie pas le fond de la cellule quand il écrit une valeur?

    Merci de votre réponse
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Par défaut Proposition
    Salut,

    Je suis pas bien sûr d'avoir bien compris ce que tu veux...

    Point n°1
    Il faut que tu détermine dans une variable le nombre de ligne de ton tableau, cette variable, on l'appelle a par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim a as Integer
    a = 6
    Do While Sheets(1).Cells(a, 9).Value <> ""
    a = a + 1
    Loop
    a = a - 1
    Maintenant ton a contient le numéro de la dernière ligne renseignée de ton tableau (11 dans ton exemple mais si ton tableau prend une ligne de plus, ce sera 12). Ensuite tu copie colle I:6-I:a dans H:6-H:a.

    Point n°2
    Sheets(1).Cells(x, y).Value = "ce que tu veux y mettre"
    La cellule x,y contiendra "ce que tu veux y mettre" mais sa couleur de fond reste la même.

    J'ai pas trop tapé à côté ?

  3. #3
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 107
    Par défaut
    merci de la réponse, mais, mon problèeme est que, après, pour copier coller ca me donne :

    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
     Sub JJ()
     
     
    Dim a As Integer
    a = 6
    Do While Sheets(1).Cells(a, 9).Value <> ""
    a = a + 1
    Loop
    a = a - 1
    Range("I6-Ia").Select
    Selection.Cut
    Range("H6").Select
        ActiveSheet.Paste
     
    End Sub
    Et, le VBA n'aime pas le "I6-Ia"...
    Quelqu'un saurait il comment le noter?

  4. #4
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    pensez aux balises code (merci)

    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1:A" & uneVariable).Select

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Par défaut Re.
    Salut,

    Désolé pour les balises, j'ai pas l'habitude!
    Oui, quand je disais "Ensuite tu copie colle I:6-I:a dans H:6-H:a" c'était pour le lyrisme ;-). En code, tu remplaces ta ligne par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("I6:I" & a).Select
    Cordialement
    Marc

  6. #6
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 107
    Par défaut
    Merci de vos réponses...
    C'était un petit truc tout bête, mais je connaissais pas la fonction
    Merci

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

Discussions similaires

  1. Moyenne pondérée VBA nbre lignes variables
    Par Piloute69 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/06/2010, 15h37
  2. nbre de lignes max ?
    Par bibile dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 28/07/2006, 12h02
  3. supprimer le retour a la ligne variable
    Par azmimik dans le forum Général Python
    Réponses: 2
    Dernier message: 23/03/2006, 21h14
  4. Réponses: 1
    Dernier message: 03/03/2006, 13h53

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