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 :

aide sur commande


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Octobre 2010
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 240
    Points : 178
    Points
    178
    Par défaut aide sur commande
    Bonjour je cherche une commande qui recopiera des cellules dans d'autre
    le truc c'est que cellule sont séparer par d'autre cellule que je ne dois pas copier donc j'ai testé un truc dans le genre mais ça ne réagit pas bien
    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
     
    Dim l As Long   'l comme ligne
    Dim c As Long   'c comme colonne
     
    l = 0
    boucle:                                  
    With Range("ao23")                      
    For c = 0 To 22 Step 2                 
    .Offset(l, c) = Range("i10").Offset(l, c)  
    Next c                                  
    End With                                 
    If l < 40 Then                          
    l = l + 4                                 
    GoTo boucle                              
    End If
    les valeurs ne se recopient pas la où elles le doivent à partir de la 3e ligne

    si quelqu'un peut m'aider à savoir pourquoi

    merci

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 975
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 975
    Points : 29 009
    Points
    29 009
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour t'aider, il faudrait savoir ce qui ne va pas et ce que tu veux, parce-que Mis à part que le 'goto' sauf pour le 'on error' est une instruction à proscrire ton code ne bug pas.

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Octobre 2010
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 240
    Points : 178
    Points
    178
    Par défaut
    son ma fenêtre

    la commande me recopie bien la 1ère ligne
    la 2e ligne également

    la 3e ne se recopie pas
    la 4e se recopie a la place de la 5e ligne
    la 5e ligne ne se recopie pas
    la 6e se recopie a la place de la 8
    la 7e ne se recopie pas
    la 8e se recopie à la place de la 11

    voila le problème si tu as besoin de plus d'explication demande moi

    petite question supplémentaire (qui n'a rien à voir avec le pb)

    une case fusionner sur excel comment vb l'interpretre t il?

    avec le .offset

    disons que la case fusionner est a1 avec a2

    si je met range("a1").offset(1,0).select

    il ira sur la case a3? ou il se dira qu'il est sur a2?

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 975
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 975
    Points : 29 009
    Points
    29 009
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Lorsque tu fusionnes plusieurs cellules d'une même ligne la référence est faites sur la colonne de gauche. Donc si l'on fusionne les cellules D4:H4 la référence est D4, pour les lignes, B4:B8 la référence sera B4

  5. #5
    Membre habitué
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Octobre 2010
    Messages
    240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 240
    Points : 178
    Points
    178
    Par défaut
    oui ça ok mais en vb

    si tu as une cellule fusionner b4:b8

    en vb tu marques

    range("b4").offset(1,0).select

    il te mettre sur la case b9?

    ce que je ne comprend pas dans ma commande c'est copie bien les données en horizontale mais en verticale il fait n'importe quoi

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 975
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 975
    Points : 29 009
    Points
    29 009
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne sais toujours pas ce que tu souhaites copier.
    D'après ton code, c'est une copie des cellules "I10:AE50" vers la cellule "AO23:BK63" et ce en ne prenant qu'une ligne sur 4 et 1 colonne sur 2.
    Voici un code donnant le même résultat mais sans 'goto'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub boucle()
      Dim l As Long   'l comme ligne
      Dim c As Long   'c comme colonne
      For l = 0 To 40 Step 4
       For c = 0 To 22 Step 2
        With Range("AO23")
        .Offset(l, c) = Range("i10").Offset(l, c)
        End With
       Next c
      Next l
    End Sub

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 975
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 975
    Points : 29 009
    Points
    29 009
    Billets dans le blog
    53
    Par défaut
    si tu as une cellule fusionner b4:b8
    en vb tu marques
    range("b4").offset(1,0).select
    il te mettre sur la case b9?
    Oui et c'est curieux car si tu le fais avec la fonction DECALER il ne donne pas le même résultat. Il lit réellement B5 et renvoie 0
    Place ce code pour connaître l'adresse de la cellule traitée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debug.print Range("B4").Offset(1, 0).Address

Discussions similaires

  1. aide sur commande PS
    Par JEDI1970 dans le forum Shell et commandes POSIX
    Réponses: 3
    Dernier message: 12/10/2012, 18h24
  2. Aide sur commande Sed
    Par comboDev dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 09/11/2008, 14h20
  3. Aide sur commande ftp
    Par sscouby dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 06/05/2008, 11h29
  4. aide sur commande itoa
    Par azräel dans le forum MFC
    Réponses: 7
    Dernier message: 08/02/2008, 15h55
  5. Aide sur commande awk
    Par lili_bzh dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 20/12/2006, 11h55

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