Excel copier/coller macro - Page 2

Précédent
  • 1
  • 2
  1. kifran21 Messages postés 18 Statut Membre
     
    dans la colonne A des feuille 1,2,3 il y a un certains nombre de cellule remplies et je voudrais copier chaque cellule dans la feuil 4 les une apres les autre dans une seule colonne A
    donc test dans feuille 1 copier chaque cellule dans feuil4 jusqua cellule vide si vide passer dans feuille 2 copier toutes cellule remplies si vide passer feuille 3 etc
    0
  2. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    bon, j comprend pas tout.. mais voici les fonctions qui peuvent t'aider :

    for NumFeuille =1 to 3
    ligne=1
    set ValCherche = Worksheets(NumFeuille).Cells(ligne, 1)
    Do While ValCherche <> ""

    Worksheets(4).Cells(ligne, 1) = Worksheets(NumFeuille).Cells(ligne, 1)

    ligne=ligne+1
    set ValCherche = Worksheets(NumFeuille).Cells(ligne, 1)

    loop

    next
    0
  3. kifran21 Messages postés 18 Statut Membre
     
    je suis désolé mais je ne comprends pas vraiment,tous simplement car mon niveau ........
    j'arretes de vous importuner
    merci
    0
    1. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
       
      Mais nan!! revient :p

      Il faut se prendre un peu la tete pour comprendre.. apres tu le sera, et tu comprendra comment faire...
      0
  4. kifran21 Messages postés 18 Statut Membre
     
    j'ai 13 feuil + une feuille temp
    je voudrais copier a2:a32 de chacune des 13 feuilles vers la colonne A de la feuil temp les une en dessous des autres
    mais avec un test disant de recopier seulement les cellules contenant une valeur afin que dans la feuil temp il ni ai pas de cellule vides entre les valeur car dans chacune des 13 feuil dans la plage a2:a32 toutes les cellules ne sont pas pleines
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    as tu des cellules vides dans une feuille comme :
    A1=a, A2=b, A4=c,A5=d

    ou sont elles vraiment toutes à la suite ?
    0
  7. kifran21 Messages postés 18 Statut Membre
     
    dans chacune des 13 feuilles il y aura peut etre des vides a1=2 a2=3 a3=vide a4=8 etc mais dans la feuille temp toutes doivent s'inscrire les une apres les autre dans la colonne A et sans aucune cellule vide
    0
  8. kifran21 Messages postés 18 Statut Membre
     
    si,
    dans chacune des 13 feuille comme je dois rentrer les données dans la plage a2:a32 il y a les meme cellules remplie pas avec les meme valeur
    feuil1 a1=5 a2=3 a3=vide a4=6
    feuil2 a1=2 a2=vide a3=vide a4=9

    etc
    en fait je rentre des montants dans les treize feuilles et dans temp je dois toutes les inscrire dans une seule colonne a1:a......................
    0
  9. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    donc tu veux que de :
    feuil1 a1=5 a2=3 a3=vide a4=6
    feuil2 a1=2 a2=vide a3=vide a4=9

    ca te mette dans la feuille temp :

    a1=5 a2=3 a3=6 a4=2 a5=9 c'est ca?
    0
  10. kifran21 Messages postés 18 Statut Membre
     
    exactement

    merci
    0
  11. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    ah.. on y arrive :)

    Ca donnerais ca ;) :

    NumLigneTemp = 1 'Numero de la ligne de la colonne A dans Temp
    For feuille = 1 To Sheets.Count
    With Worksheets(feuille)
    If .Name <> "Temp" Then
    .Activate
    For NumLigne = 2 To 36
    If .Cells(NumLigne, 1) <> "" Then
    Worksheets("Temp").Cells(NumLigneTemp, 1) = .Cells(NumLigne, 1)
    NumLigneTemp = NumLigneTemp + 1
    End If
    Next
    End If
    End With
    Next
    0
  12. kifran21 Messages postés 18 Statut Membre
     
    je commence a voir,

    mais visiblement si dans le classeur les feuilles ne sont pas temp alors ...
    If .Name <> "Temp" Then
    mais le classeur contient au moins 17 feuilles seule 13 sont concernés peut ont dire les 13 premieres feuilles
    0
  13. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    Non, "temp" est le nom de la feuille où il met les données.. mais tu peux l appelé comme tu veux, il faut juste changer le nom de la feuille destination ici

    If .Name <> "Temp" Then
    Worksheets("Temp").Cells(NumLigneTemp, 1) = .Cells(NumLigne, 1)

    Apres tes autres feuilles (sopurces) peuvent s appeler comme tu veux et pas forcement avec un nom qui se vu car avec:
    For feuille = 1 To Sheets.Count
    With Worksheets(feuille)

    la variable feuille prend le numéro d'une feuille, et je fais référence à cette feuille source via son numéro et non son nom ;)
    0
Précédent
  • 1
  • 2