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 :

faire remonter des valeurs


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
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut faire remonter des valeurs
    Bonjour , imaginez un simple tableau de chiffres . J'ai crée une macro qui me supprime la ligne courante du tableau , jusque là tout va bien .
    Mais , je souhaite faire remonter les valeurs en dessous de la ligne supprimée , pour pas qu'il n'y ait de ligne vide dans mon tableau , et après quelques essais je n'y arrive pas , donc voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub enlever()
    Dim j As Integer, i As Integer, x As Integer
    x = derniereLigne
    i = Selection.Row
        For j = 1 To 5
            Cells(i, j).ClearContents
        Next j
    Range(Cells(i + 1, 1), Cells(x, 5)).Value = Range(Cells(i, 1), Cells(x - 1, 5)).Value
    End Sub
    Vous voyez j'ai essayé de transférer les valeurs de la plage du dessous à une plage de meme taille mais une ligne au dessus et ça ne me donne pas ce que je souhaite.

    Quelqu'un aurait il une solution?

    merci

  2. #2
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour shaku le forum peut etre mettre delete a la place de ClearContents

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    interdiction d'utiliser delete

  4. #4
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re, pourquoi??????????????????????????????????????????????????

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    non mais laetitia tout va bien avec clearcontents pas de panique , là j'ai juste un petit soucis avec mes plages c'est tout

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par shaku Voir le message
    interdiction d'utiliser delete
    Bonjour, shaku,

    J'ai bien l'impression que l'on est en train de faire, l'un après l'autre, tous tes exercices imposés...

    laetitia t'a donné la solution VBA logique... mais tu cherches (comme pour d'autres exercices que nous avons traités à ta place) à le faire comme on te l'a imposé dans le cadre d'exercices de cours. C''est visible et peu ....honnête (pardonne-moi de te le faire remarquer, mais tu vas être noté sur ce que d'autres ont fait !)
    Alors attends :
    on t'interdit d'utiliser Delete ? ===>> soit ===>> abonde donc un tableau dynamique, traite-le et importe le résultat.
    Tu ne vas, j'espère, pas nous dire que "ça non plus" et que tu veux par force "y aller" avec la manoeuvre que tu/on t'es/a définie ...

    EDIT (et c'est un indice) :
    d'autant qu'il ne faut pas être très fort pour voir que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(i + 1, 1), Cells(x, 5)).Value = Range(Cells(i, 1), Cells(x - 1, 5)).Value
    remplit non pas à compter de la ligne "effacée" pais à compter de la suivante (et ne change donc rien !)
    et, en prime, tu y colles non ce qu'il y avait en dessous, mais ce qu'il y a, y compris la ligne effacée !

  7. #7
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    J'ai bien l'impression que l'on est en train de faire, l'un après l'autre, tous tes exercices imposés...

    laetitia t'a donné la solution VBA logique... mais tu cherches (comme pour d'autres exercices que nous avons traités à ta place) à le faire comme on te l'a imposé dans le cadre d'exercices de cours. C''est visible et peu ....honnête (pardonne-moi de te le faire remarquer, mais tu vas être noté sur ce que d'autres ont fait !)
    Alors t'es bien culoté et malhonnête de dire ça car je n'ai jamais demandé de solution toute faite , je travaille toujours beaucoup avant contrairement à bien des gens . Ensuite , c'est un forum d'aide , fais pas l'hypocrite en faisant style que personne vient ici pour leurs devoirs . Ensuite , je trouve la plupart des solutions moi même , si tu veux que je poste tous mes exercices très bien j'en ai au moins 300 .
    Et finalement ce n'est pas pour un devoir . Je me passerai de tes messages à l'avenir .

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Comme tu veux !
    Dis-nous donc pour quelle raison tu ne veux pas du Delete (qui est la SOLUTION VB), hein ...
    Bon ...
    Analyse donc ce que tu as écrit (ton code) ... traduis-le en français pour toi-mlême !!!

    Fais ensuite ton algo (super simple : du bouche-trou).
    Et transpose ensuite cet algo en code !

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

Discussions similaires

  1. Un timer pour faire varier des valeurs pour une période donnée.
    Par zimoun dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 22/10/2009, 01h42
  2. Comment faire remonter des exceptions
    Par specsy dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 02/05/2008, 11h04
  3. Réponses: 4
    Dernier message: 23/04/2008, 17h03
  4. faire correspondre des valeurs
    Par thierrry81 dans le forum Access
    Réponses: 2
    Dernier message: 06/12/2006, 22h38
  5. Réponses: 17
    Dernier message: 04/02/2005, 12h05

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