Excel copier/coller macro
kifran
-
jjsteing Messages postés 1803 Statut Contributeur -
jjsteing Messages postés 1803 Statut Contributeur -
Bonjour,
bonjour,
j'ai 4 feuilles je voudrais copier coller les cellules colonne A des 3 premieres feuilles dans la meme colonne de la feuille 4 les unes apres les autres en ayant un teste si dans colonne feuille 1 cellule vide alors copier colonne A feuille 2 si cellule vide alors copier cellule colonne A feuille 3
merci pour votre aide
bonjour,
j'ai 4 feuilles je voudrais copier coller les cellules colonne A des 3 premieres feuilles dans la meme colonne de la feuille 4 les unes apres les autres en ayant un teste si dans colonne feuille 1 cellule vide alors copier colonne A feuille 2 si cellule vide alors copier cellule colonne A feuille 3
merci pour votre aide
A voir également:
- Excel copier/coller macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Historique copier coller - Guide
- Liste déroulante excel - Guide
- Copier coller pdf - Guide
- Style d'écriture a copier coller - Guide
32 réponses
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
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
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
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
je suis désolé mais je ne comprends pas vraiment,tous simplement car mon niveau ........
j'arretes de vous importuner
merci
j'arretes de vous importuner
merci
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
as tu des cellules vides dans une feuille comme :
A1=a, A2=b, A4=c,A5=d
ou sont elles vraiment toutes à la suite ?
A1=a, A2=b, A4=c,A5=d
ou sont elles vraiment toutes à la suite ?
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
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......................
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......................
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?
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?
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
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
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
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
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 ;)
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 ;)