Suite fusionner plusieurs classeur excel
Résolu/Fermé
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
-
11 févr. 2010 à 18:27
gilles - 12 févr. 2010 à 19:26
gilles - 12 févr. 2010 à 19:26
A voir également:
- Suite fusionner plusieurs classeur excel
- Liste déroulante excel - Guide
- Fusionner fichier excel - Guide
- Comment fusionner des pdf sans logiciel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Fusionner cellule excel - Guide
8 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 691
11 févr. 2010 à 21:46
11 févr. 2010 à 21:46
bonjour
Le fichier n'est pas accessible sur ce site, si tu pouvais nous le mettre sur http://www.cijoint.fr/ puis nous mettre le lien généré ici ce serait plus facile.
Le fichier n'est pas accessible sur ce site, si tu pouvais nous le mettre sur http://www.cijoint.fr/ puis nous mettre le lien généré ici ce serait plus facile.
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
11 févr. 2010 à 22:05
11 févr. 2010 à 22:05
Sans problème, voici le lien :
http://www.cijoint.fr/cjlink.php?file=cj201002/cijD2Nz5rz.xls
J'ai oublié de mentionner précédemment que j'ai besoin de deux choses : d'une part une formule qui permettent de récupérer toutes les lignes (de 1 à 50) et une autre formule pour récupérer uniquement les lignes de 40 à 50
(le plus souvent, il y a 49 lignes, mais certaines feuille en contiennent 50)
Merci beaucoup pour ton aide.
http://www.cijoint.fr/cjlink.php?file=cj201002/cijD2Nz5rz.xls
J'ai oublié de mentionner précédemment que j'ai besoin de deux choses : d'une part une formule qui permettent de récupérer toutes les lignes (de 1 à 50) et une autre formule pour récupérer uniquement les lignes de 40 à 50
(le plus souvent, il y a 49 lignes, mais certaines feuille en contiennent 50)
Merci beaucoup pour ton aide.
Bonsoir à tous,
Je viens de rentrer sur votre discussion.
Je me disais qu'avec quelques lignes de VBA on pourrait le faire (je pense).
Du style, on compte le nombre de feuilles (exemple on a 100 feuilles) puis on boucle de i = 2 à 100
en activant à chaque fois l'onglet(i). On sélectionne la zone A2:N & j ( étant le nombre de ligne utilisé dans le l'onglet sélectionné) et on le copie dans le dernier onglet (par exemple RECAP).
A plus
Gilles
Je viens de rentrer sur votre discussion.
Je me disais qu'avec quelques lignes de VBA on pourrait le faire (je pense).
Du style, on compte le nombre de feuilles (exemple on a 100 feuilles) puis on boucle de i = 2 à 100
en activant à chaque fois l'onglet(i). On sélectionne la zone A2:N & j ( étant le nombre de ligne utilisé dans le l'onglet sélectionné) et on le copie dans le dernier onglet (par exemple RECAP).
A plus
Gilles
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
11 févr. 2010 à 22:45
11 févr. 2010 à 22:45
merci Gilles, mais je suis un novice vrai de vrai (VBA???), je pensais qu'on pouvait modifier le formule que j'ai affichée dans le premier message.
Spaissia
Spaissia
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 691
11 févr. 2010 à 22:46
11 févr. 2010 à 22:46
bonjour
En modifiant légèrement la première formule que je t'avais donnée cela fonctionne pour 50 lignes
Je regardes pour récupérer 40-50 @+
En modifiant légèrement la première formule que je t'avais donnée cela fonctionne pour 50 lignes
=INDIRECT("'DATA "&ENT(LIGNE()/50)+1&"'!"&CAR(COLONNE()+64)&MOD(LIGNE()-1;50)+1)
Je regardes pour récupérer 40-50 @+
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
11 févr. 2010 à 22:51
11 févr. 2010 à 22:51
Je viens d'essayer, c'est nickel pour les 50 lignes.
Génial, merci beaucoup gbinforme!
Génial, merci beaucoup gbinforme!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si jamais tu souhaites faire du VBA, j'ai fait l'exemple que tu as envoyé.
Si tu veux, je le mets en pièce jointe (d'abord je vais commenter le code).
L'intérêt est de compter le nombre de cellule d'une feuille à chaque fois et peut importe le nombre, on le sélectionne et on le copie sur la dernière feuille.
Désolé pour tous les deux mais je ne sais pas le faire en formule.
Gilles
Si tu veux, je le mets en pièce jointe (d'abord je vais commenter le code).
L'intérêt est de compter le nombre de cellule d'une feuille à chaque fois et peut importe le nombre, on le sélectionne et on le copie sur la dernière feuille.
Désolé pour tous les deux mais je ne sais pas le faire en formule.
Gilles
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
11 févr. 2010 à 23:01
11 févr. 2010 à 23:01
Oui, ça m'intéresse de voir ce que cela peut être.
Merci Gilles.
Merci Gilles.
http://www.cijoint.fr/cjlink.php?file=cj201002/cijipl0S6N.xls
Regarde si le résultat est ce que tu attendais. Si çà va, je t'explique sinon on peut adapter
Gilles
Regarde si le résultat est ce que tu attendais. Si çà va, je t'explique sinon on peut adapter
Gilles
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
11 févr. 2010 à 23:12
11 févr. 2010 à 23:12
Oui, absolument, c'est bien ça, ça copie bien le nombre de lignes qu'il y a dans chaque feuille (49 ou 50).
Merci aussi pour ton aide Gilles.
Donc le VBA est où?
Spaissia
Merci aussi pour ton aide Gilles.
Donc le VBA est où?
Spaissia
gilles
>
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
11 févr. 2010 à 23:18
11 févr. 2010 à 23:18
Ci dessous le code VBA
Par contre dans mes macros, je n'ai pas prévu de copier la ligne des titres. Tu dois le faire avant.
On pourrait le prévoir dans le code car si tu l'oublies çà peut planter ( ce n'est pas grave).
Pour voir le code VBA dans excel 2003 : outils / ouvrir Visual Basic / sur la gauche descendre dans module et ouvrir le module présent pour voir le code
dans excel 2007 aller dans développeur / premier bouton à gauche.
Ci desssous le code utilisé
Gilles
Sub fusionner()
'variable qui va contenir le nombre feuille
Dim compteur As Integer
compteur = Sheets.Count 'compte les feuilles
'boucle de la feuille 2 (ou on commence à avoir les données) jusqu'a nombre de feuille -2
For i = 2 To compteur - 2
'activation de la feuille
Sheets(i).Activate
'appel de la méthode selectionner
selectionner
Next
End Sub
Sub selectionner()
'variable qui va contenir le nombre de ligne d'une feuille
Dim rangee As Integer
If Range("A2").Value = "" Then
'on sort de la méthose car il n'y a pas données à copier
Else
Range("A1").Select
Selection.End(xlDown).Select
rangee = ActiveCell.Row
'j'ai déterminé plus haut le nombre de ligne dans la variable rangee
Range("A2:M" & rangee).Select
'selection de la zone A2:M & rangee
Selection.Copy
'activation de l'onglet final
Sheets("données fusionnées").Select
'positionnement sur la première cellule libre
ActiveSheet.Range("A1").Select
If Range("A2").Value = "" Then
Range("A2").Select
Else
'on atteint la derniere cellule de donnee et on se positionne sur la ligne du dessous
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
End If
'on est positionné et on colle
ActiveSheet.Paste
End If
End Sub
Par contre dans mes macros, je n'ai pas prévu de copier la ligne des titres. Tu dois le faire avant.
On pourrait le prévoir dans le code car si tu l'oublies çà peut planter ( ce n'est pas grave).
Pour voir le code VBA dans excel 2003 : outils / ouvrir Visual Basic / sur la gauche descendre dans module et ouvrir le module présent pour voir le code
dans excel 2007 aller dans développeur / premier bouton à gauche.
Ci desssous le code utilisé
Gilles
Sub fusionner()
'variable qui va contenir le nombre feuille
Dim compteur As Integer
compteur = Sheets.Count 'compte les feuilles
'boucle de la feuille 2 (ou on commence à avoir les données) jusqu'a nombre de feuille -2
For i = 2 To compteur - 2
'activation de la feuille
Sheets(i).Activate
'appel de la méthode selectionner
selectionner
Next
End Sub
Sub selectionner()
'variable qui va contenir le nombre de ligne d'une feuille
Dim rangee As Integer
If Range("A2").Value = "" Then
'on sort de la méthose car il n'y a pas données à copier
Else
Range("A1").Select
Selection.End(xlDown).Select
rangee = ActiveCell.Row
'j'ai déterminé plus haut le nombre de ligne dans la variable rangee
Range("A2:M" & rangee).Select
'selection de la zone A2:M & rangee
Selection.Copy
'activation de l'onglet final
Sheets("données fusionnées").Select
'positionnement sur la première cellule libre
ActiveSheet.Range("A1").Select
If Range("A2").Value = "" Then
Range("A2").Select
Else
'on atteint la derniere cellule de donnee et on se positionne sur la ligne du dessous
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
End If
'on est positionné et on colle
ActiveSheet.Paste
End If
End Sub
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
>
gilles
11 févr. 2010 à 23:24
11 févr. 2010 à 23:24
Je tente devoir ça comme tu m'indiques, par contre j'ai du mal à suivre.
Si je veux appliquer cela à un autre fichier excel, on fait comment?
Est-ce qu'on peut adapter pour avoir uniquement les lignes de 40 à 50 dans chaque classeur?
Spaissia.
Si je veux appliquer cela à un autre fichier excel, on fait comment?
Est-ce qu'on peut adapter pour avoir uniquement les lignes de 40 à 50 dans chaque classeur?
Spaissia.
Gilles
>
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
11 févr. 2010 à 23:42
11 févr. 2010 à 23:42
J'ai essayé de répondre à ta question mais tout à planter.
Si je comprend bien tu voudrais rajouter les lignes 40 à 50 sur un onglet qui contient déjà les données de 1 à 40.
Gilles
Si je comprend bien tu voudrais rajouter les lignes 40 à 50 sur un onglet qui contient déjà les données de 1 à 40.
Gilles
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
>
Gilles
12 févr. 2010 à 00:32
12 févr. 2010 à 00:32
En fait, j'aimerai récupérer sur un onglet les lignes de 1 à 50 et sur un deuxième onglet les ligne 40 à 50.
En fait, je ne sais pas encore si je vais devoir faire un contrôle sur toute les données (les 50 lignes) ou sur les 11 dernière ligne (40 à 50). En fait, ces données représentent des fixations oculaires échantillonnées toute les 20 ms sur une durée de 950 ms à chaque fois (il y en a 176, d'où les 176 feuilles excel.
Spaissia
En fait, je ne sais pas encore si je vais devoir faire un contrôle sur toute les données (les 50 lignes) ou sur les 11 dernière ligne (40 à 50). En fait, ces données représentent des fixations oculaires échantillonnées toute les 20 ms sur une durée de 950 ms à chaque fois (il y en a 176, d'où les 176 feuilles excel.
Spaissia
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 691
11 févr. 2010 à 23:10
11 févr. 2010 à 23:10
bonjour
pour récupérer 40-50
pour récupérer 40-50
=INDIRECT("'DATA "&ENT(LIGNE()/11)+1&"'!"&CAR(COLONNE()+64)&MOD(LIGNE();11)+40)
spaissia
Messages postés
15
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
12 février 2010
11 févr. 2010 à 23:18
11 févr. 2010 à 23:18
Encore merci gbinforme, ça marche aussi nickel.
Long vie à ce forum d'entraide!!!
Long vie à ce forum d'entraide!!!