Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi
Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi
Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi
Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieu rs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne con cernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colo nne C :
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une m acro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédan t TOTAL, les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi
Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieu rs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne con cernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colo nne C :
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une m acro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédan t TOTAL, les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi
Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieu rs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne con cernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colo nne C :
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une m acro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédan t TOTAL, les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi
Bonjour,
Dans un module:
Function nomOnglet(n)
Application.Volatile
nomOnglet = Sheets(n).Name
End Function
Function nbOnglets()
Application.Volatile
nbOnglets = Sheets.Count
End Function
En A2 de synthèse (Nom feuille):
=SI(LIGNE()<=nbonglets()-2;nomonglet(LIGNE()+1);"")
En B2: Nom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A1"));"";INDIRECT("'"&$A2&"'!A1"))
En C2: Prénom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A2"));"";INDIRECT("'"&$A2&"'!A2"))
http://cjoint.com/?hxn55WPffD
JB
On 23 juil, 13:22, Yapi wrote:Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusi eurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne c oncernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Co lonne C :
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précéd ant TOTAL, les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pou r votre
aide,
Yapi- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Dans un module:
Function nomOnglet(n)
Application.Volatile
nomOnglet = Sheets(n).Name
End Function
Function nbOnglets()
Application.Volatile
nbOnglets = Sheets.Count
End Function
En A2 de synthèse (Nom feuille):
=SI(LIGNE()<=nbonglets()-2;nomonglet(LIGNE()+1);"")
En B2: Nom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A1"));"";INDIRECT("'"&$A2&"'!A1"))
En C2: Prénom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A2"));"";INDIRECT("'"&$A2&"'!A2"))
http://cjoint.com/?hxn55WPffD
JB
On 23 juil, 13:22, Yapi <Y...@discussions.microsoft.com> wrote:
Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusi eurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne c oncernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Co lonne C :
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précéd ant TOTAL, les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pou r votre
aide,
Yapi- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Dans un module:
Function nomOnglet(n)
Application.Volatile
nomOnglet = Sheets(n).Name
End Function
Function nbOnglets()
Application.Volatile
nbOnglets = Sheets.Count
End Function
En A2 de synthèse (Nom feuille):
=SI(LIGNE()<=nbonglets()-2;nomonglet(LIGNE()+1);"")
En B2: Nom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A1"));"";INDIRECT("'"&$A2&"'!A1"))
En C2: Prénom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A2"));"";INDIRECT("'"&$A2&"'!A2"))
http://cjoint.com/?hxn55WPffD
JB
On 23 juil, 13:22, Yapi wrote:Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusi eurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne c oncernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Co lonne C :
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précéd ant TOTAL, les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pou r votre
aide,
Yapi- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi" a écrit dans le message de news:Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi
Bonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi" <Yapi@discussions.microsoft.com> a écrit dans le message de news:
6E166AF7-EAD0-4E6A-8447-3FF7D9F47279@microsoft.com...
Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi
Bonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi" a écrit dans le message de news:Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi
Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
Bonjour Manu,
ça marche, pas de problème... J'ai juste modifié qlq lignes pour que la
MAJ
puisse se faire automatiquement
Sub Assembler()
Dim i As Long, j As Long
Worksheets("SYNTHESE").Select
For i = 3 To Worksheets.Count - 2
j = i - 1
With Worksheets(i)
Cells(j, 1).Value = .Range("A1").Value
Cells(j, 2).Value = .Range("A2").Value
Cells(j, 3).Value = .Range("A3").Value
End With
Next
End Sub
Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
YapiBonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi" a écrit dans le message de news:Bonjour,
Je cherche une macro qui me permette de prendre des données sur
plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne
concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM
Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant
TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour
votre
aide,
Yapi
Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
Bonjour Manu,
ça marche, pas de problème... J'ai juste modifié qlq lignes pour que la
MAJ
puisse se faire automatiquement
Sub Assembler()
Dim i As Long, j As Long
Worksheets("SYNTHESE").Select
For i = 3 To Worksheets.Count - 2
j = i - 1
With Worksheets(i)
Cells(j, 1).Value = .Range("A1").Value
Cells(j, 2).Value = .Range("A2").Value
Cells(j, 3).Value = .Range("A3").Value
End With
Next
End Sub
Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
Yapi
Bonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi" <Yapi@discussions.microsoft.com> a écrit dans le message de news:
6E166AF7-EAD0-4E6A-8447-3FF7D9F47279@microsoft.com...
Bonjour,
Je cherche une macro qui me permette de prendre des données sur
plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne
concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM
Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant
TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour
votre
aide,
Yapi
Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
Bonjour Manu,
ça marche, pas de problème... J'ai juste modifié qlq lignes pour que la
MAJ
puisse se faire automatiquement
Sub Assembler()
Dim i As Long, j As Long
Worksheets("SYNTHESE").Select
For i = 3 To Worksheets.Count - 2
j = i - 1
With Worksheets(i)
Cells(j, 1).Value = .Range("A1").Value
Cells(j, 2).Value = .Range("A2").Value
Cells(j, 3).Value = .Range("A3").Value
End With
Next
End Sub
Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
YapiBonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi" a écrit dans le message de news:Bonjour,
Je cherche une macro qui me permette de prendre des données sur
plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne
concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM
Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant
TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour
votre
aide,
Yapi
Bonjour,Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
Pas de pb, voici l'original commentée.
Sub Assembler() 'Nom de la macro
Dim i As Long, j As Long 'Déclare deux variables numériques
WorkSheets("SYNTHESE").Select 'Active la feuille nommée SYNTHESE
'Passe chaque feuille en revue en partant de la 3eme jusqu'à
l'antépénultieme
For i = 3 To WorkSheets.Count - 2 'WorkSheets.Count donne le nombre
total de feuilles
'j prend la valeur du numéro de ligne de la 1ere cellule vide de la
colonne A
'A chaque passage dans la boucle j sera incrémentée de 1 du fait de
l'inscription des nouvelles données
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
'Sur la ligne déterminée par j, la 1ere cellule prend la valeur
de la cellule A1 de la feuille dont l'index est égal à i
Cells(j,1).Value = .Range("A1").Value
'cf commentaire précedent
Cells(j,2).Value = .Range("A2").Value
'cf commentaire précedent
Cells(j,3).Value = .Range("A3").Value
End With
Next 'Passe à la feuille suivante
End Sub 'Fin
Cordialement,
Manu/
"Yapi" a écrit dans le message de news:Bonjour Manu,
ça marche, pas de problème... J'ai juste modifié qlq lignes pour que la
MAJ
puisse se faire automatiquement
Sub Assembler()
Dim i As Long, j As Long
Worksheets("SYNTHESE").Select
For i = 3 To Worksheets.Count - 2
j = i - 1
With Worksheets(i)
Cells(j, 1).Value = .Range("A1").Value
Cells(j, 2).Value = .Range("A2").Value
Cells(j, 3).Value = .Range("A3").Value
End With
Next
End Sub
Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
YapiBonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi" a écrit dans le message de news:Bonjour,
Je cherche une macro qui me permette de prendre des données sur
plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne
concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM
Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant
TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour
votre
aide,
Yapi
Bonjour,
Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
Pas de pb, voici l'original commentée.
Sub Assembler() 'Nom de la macro
Dim i As Long, j As Long 'Déclare deux variables numériques
WorkSheets("SYNTHESE").Select 'Active la feuille nommée SYNTHESE
'Passe chaque feuille en revue en partant de la 3eme jusqu'à
l'antépénultieme
For i = 3 To WorkSheets.Count - 2 'WorkSheets.Count donne le nombre
total de feuilles
'j prend la valeur du numéro de ligne de la 1ere cellule vide de la
colonne A
'A chaque passage dans la boucle j sera incrémentée de 1 du fait de
l'inscription des nouvelles données
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
'Sur la ligne déterminée par j, la 1ere cellule prend la valeur
de la cellule A1 de la feuille dont l'index est égal à i
Cells(j,1).Value = .Range("A1").Value
'cf commentaire précedent
Cells(j,2).Value = .Range("A2").Value
'cf commentaire précedent
Cells(j,3).Value = .Range("A3").Value
End With
Next 'Passe à la feuille suivante
End Sub 'Fin
Cordialement,
Manu/
"Yapi" <Yapi@discussions.microsoft.com> a écrit dans le message de news:
696B0AF8-5184-459B-9A0F-D1E0B942FCE3@microsoft.com...
Bonjour Manu,
ça marche, pas de problème... J'ai juste modifié qlq lignes pour que la
MAJ
puisse se faire automatiquement
Sub Assembler()
Dim i As Long, j As Long
Worksheets("SYNTHESE").Select
For i = 3 To Worksheets.Count - 2
j = i - 1
With Worksheets(i)
Cells(j, 1).Value = .Range("A1").Value
Cells(j, 2).Value = .Range("A2").Value
Cells(j, 3).Value = .Range("A3").Value
End With
Next
End Sub
Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
Yapi
Bonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi" <Yapi@discussions.microsoft.com> a écrit dans le message de news:
6E166AF7-EAD0-4E6A-8447-3FF7D9F47279@microsoft.com...
Bonjour,
Je cherche une macro qui me permette de prendre des données sur
plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne
concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM
Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant
TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour
votre
aide,
Yapi
Bonjour,Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
Pas de pb, voici l'original commentée.
Sub Assembler() 'Nom de la macro
Dim i As Long, j As Long 'Déclare deux variables numériques
WorkSheets("SYNTHESE").Select 'Active la feuille nommée SYNTHESE
'Passe chaque feuille en revue en partant de la 3eme jusqu'à
l'antépénultieme
For i = 3 To WorkSheets.Count - 2 'WorkSheets.Count donne le nombre
total de feuilles
'j prend la valeur du numéro de ligne de la 1ere cellule vide de la
colonne A
'A chaque passage dans la boucle j sera incrémentée de 1 du fait de
l'inscription des nouvelles données
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
'Sur la ligne déterminée par j, la 1ere cellule prend la valeur
de la cellule A1 de la feuille dont l'index est égal à i
Cells(j,1).Value = .Range("A1").Value
'cf commentaire précedent
Cells(j,2).Value = .Range("A2").Value
'cf commentaire précedent
Cells(j,3).Value = .Range("A3").Value
End With
Next 'Passe à la feuille suivante
End Sub 'Fin
Cordialement,
Manu/
"Yapi" a écrit dans le message de news:Bonjour Manu,
ça marche, pas de problème... J'ai juste modifié qlq lignes pour que la
MAJ
puisse se faire automatiquement
Sub Assembler()
Dim i As Long, j As Long
Worksheets("SYNTHESE").Select
For i = 3 To Worksheets.Count - 2
j = i - 1
With Worksheets(i)
Cells(j, 1).Value = .Range("A1").Value
Cells(j, 2).Value = .Range("A2").Value
Cells(j, 3).Value = .Range("A3").Value
End With
Next
End Sub
Pourrais-tu juste m'expliquer ce que signifie la première ligne? Ca
m'aiderait à comprendre pour l'utiliser plus tard (sans vouloir abuser...)
YapiBonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi" a écrit dans le message de news:Bonjour,
Je cherche une macro qui me permette de prendre des données sur
plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne
concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM
Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant
TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour
votre
aide,
Yapi
Si des onglets sont ajoutés, la Maj sur synthèse est automatique.
JB
On 23 juil, 13:58, JB wrote:Bonjour,
Dans un module:
Function nomOnglet(n)
Application.Volatile
nomOnglet = Sheets(n).Name
End Function
Function nbOnglets()
Application.Volatile
nbOnglets = Sheets.Count
End Function
En A2 de synthèse (Nom feuille):
=SI(LIGNE()<=nbonglets()-2;nomonglet(LIGNE()+1);"")
En B2: Nom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A1"));"";INDIRECT("'"&$A2&"'!A1"))
En C2: Prénom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A2"));"";INDIRECT("'"&$A2&"'!A2"))
http://cjoint.com/?hxn55WPffD
JB
On 23 juil, 13:22, Yapi wrote:Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colonne C :
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant TOTAL, les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si des onglets sont ajoutés, la Maj sur synthèse est automatique.
JB
On 23 juil, 13:58, JB <boisgont...@hotmail.com> wrote:
Bonjour,
Dans un module:
Function nomOnglet(n)
Application.Volatile
nomOnglet = Sheets(n).Name
End Function
Function nbOnglets()
Application.Volatile
nbOnglets = Sheets.Count
End Function
En A2 de synthèse (Nom feuille):
=SI(LIGNE()<=nbonglets()-2;nomonglet(LIGNE()+1);"")
En B2: Nom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A1"));"";INDIRECT("'"&$A2&"'!A1"))
En C2: Prénom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A2"));"";INDIRECT("'"&$A2&"'!A2"))
http://cjoint.com/?hxn55WPffD
JB
On 23 juil, 13:22, Yapi <Y...@discussions.microsoft.com> wrote:
Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colonne C :
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant TOTAL, les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si des onglets sont ajoutés, la Maj sur synthèse est automatique.
JB
On 23 juil, 13:58, JB wrote:Bonjour,
Dans un module:
Function nomOnglet(n)
Application.Volatile
nomOnglet = Sheets(n).Name
End Function
Function nbOnglets()
Application.Volatile
nbOnglets = Sheets.Count
End Function
En A2 de synthèse (Nom feuille):
=SI(LIGNE()<=nbonglets()-2;nomonglet(LIGNE()+1);"")
En B2: Nom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A1"));"";INDIRECT("'"&$A2&"'!A1"))
En C2: Prénom
=SI(ESTERREUR(INDIRECT("'"&$A2&"'!A2"));"";INDIRECT("'"&$A2&"'!A2"))
http://cjoint.com/?hxn55WPffD
JB
On 23 juil, 13:22, Yapi wrote:Bonjour,
Je cherche une macro qui me permette de prendre des données sur plusieurs
feuilles pour les synthétiser sur une dernière nommée "SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son âge.
Les deux premières feuilles et l'avant dernière nommée TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM Colonne C :
AGE
Je voudrais maintenant lancer sur une dernière feuille "SYNTHESE" une macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille précédant TOTAL, les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci pour votre
aide,
Yapi- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,Bonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi"Bonjour,
Je cherche une macro qui me permette de prendre des données sur
plusieurs
feuilles pour les synthétiser sur une dernière nommée
"SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son
âge.
Les deux premières feuilles et l'avant dernière nommée
TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM
Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille
"SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille
précédant TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci
pour votre
aide,
Yapi
Bonjour,Bonjour,
Lance Visual Basic Editor (Alt+F11)
Insertion>Module
Copier-coller ce code:
Sub Assembler()
Dim i As Long, j As Long
WorkSheets("SYNTHESE").Select
For i = 3 To WorkSheets.Count - 2
j = Range("A65536").End(xlUp).Row + 1
With WorkSheets(i)
Cells(j,1).Value = .Range("A1").Value
Cells(j,2).Value = .Range("A2").Value
Cells(j,3).Value = .Range("A3").Value
End With
Next
End Sub
Fermer VBE, sous Excel Alt+F8 pour lancer la macro.
Test et reviens si ca ne va pas.
Cordialement,
Manu/
"Yapi"Bonjour,
Je cherche une macro qui me permette de prendre des données sur
plusieurs
feuilles pour les synthétiser sur une dernière nommée
"SYNTHESE"
Exemple :
Chaque salarié à une feuille à son nom
J'ai en A1 le nom du salarié, en A2 son prénom et en A3 son
âge.
Les deux premières feuilles et l'avant dernière nommée
TOTAL ne concernent
pas des salariés.
J'insère une dernière feuille Colonne A : NOM Colonne B : PRENOM
Colonne C
:
AGE
Je voudrais maintenant lancer sur une dernière feuille
"SYNTHESE" une
macro
qui me recherche sur les feuilles N°3 jusqu'à la feuille
précédant TOTAL,
les
informations qui m'intéressent...
Débutant sur VBA, je n'arrive pas à savoir comment faire. Merci
pour votre
aide,
Yapi