Récupérer valeurs fixes dans feuilles créées
Résolu
léonff
Messages postés
23
Statut
Membre
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un petit tableau excel qui marche tres bien grace à une personne de ce forum qui consiste à créer automatiquement
des feuilles.
J'aimerais grace à une petite macro que pour chaque feuille créée (elles ont toutes le même format de ligne et de colonne), il me recopie
automatiquement la valeur de la case H30 de la feuilles créée vers mon tableau récapitulatif dans la colonne F, les valeurs les unes en dessous des autres.
Je vous fait un exemple:
tableau récapitulatif comportant les cases suivantes:
n° de prix, intitulé,quantité, unité
dès que je rentre un n° de prix excel me créée une feuille grace à un modèle. Ca ca marche super bien
maintenant ce que je voudrais c'est que dans la feuille créée, je puisse automatiquement récuperer cette case H30 de la feuille créée et
la recopié dans mon tableau récapitulatif dans la colonne F et dans la ligne de mon numéro de prix. Faire une sorte de boucle.
MERCI de vos réponses
j'ai un petit tableau excel qui marche tres bien grace à une personne de ce forum qui consiste à créer automatiquement
des feuilles.
J'aimerais grace à une petite macro que pour chaque feuille créée (elles ont toutes le même format de ligne et de colonne), il me recopie
automatiquement la valeur de la case H30 de la feuilles créée vers mon tableau récapitulatif dans la colonne F, les valeurs les unes en dessous des autres.
Je vous fait un exemple:
tableau récapitulatif comportant les cases suivantes:
n° de prix, intitulé,quantité, unité
dès que je rentre un n° de prix excel me créée une feuille grace à un modèle. Ca ca marche super bien
maintenant ce que je voudrais c'est que dans la feuille créée, je puisse automatiquement récuperer cette case H30 de la feuille créée et
la recopié dans mon tableau récapitulatif dans la colonne F et dans la ligne de mon numéro de prix. Faire une sorte de boucle.
MERCI de vos réponses
A voir également:
- Récupérer valeurs fixes dans feuilles créées
- Comment faire un livret avec des feuilles a4 - Guide
- Recuperer message whatsapp supprimé - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment recuperer une video sur youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
10 réponses
Bonsoir,
Il est plus simple d'ajouter cette valeur au moment de la création de ta feuille en modifiant un peu la macro (dans la mesure où j'ai bien compris et que c'est à ce moment qu'elle est remplie).
Si tu as besoin d'aide il faudrait communiquer cette macro ou ton fichier ainsi que le nom de ta feuille récapitulative.
eric
Il est plus simple d'ajouter cette valeur au moment de la création de ta feuille en modifiant un peu la macro (dans la mesure où j'ai bien compris et que c'est à ce moment qu'elle est remplie).
Si tu as besoin d'aide il faudrait communiquer cette macro ou ton fichier ainsi que le nom de ta feuille récapitulative.
eric
salut ériiic,
voici la macro que j'ai enregistré dans ma feuille récapitulatif:
Private Sub Worksheet_Change(ByVal zone As Range)
Dim sh As Worksheet
Dim sel As Object
For Each sel In zone
Select Case sel.Column
Case 1
If sel.Text = "" Then Exit Sub
For Each sh In Sheets
If sh.Name = sel.Text Then Exit Sub
Next sh
Application.EnableEvents = False
Sheets("modèle").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = sel.Text
ActiveSheet.Cells(4, 2).Value = sel.Value
sel.Parent.Select
Application.EnableEvents = True
Case 2
Sheets(Cells(sel.Row, 1).Text).Cells(4, 10).Value = sel.Value
Case 3
Sheets(Cells(sel.Row, 1).Text).Cells(5, 2).Value = sel.Value
Case 4
Sheets(Cells(sel.Row, 1).Text).Cells(5, 10).Value = sel.Value
Case Else
End Select
Next sel
End Sub
Sub zx()
Application.EnableEvents = True
End Sub
voici la macro que j'ai écrite et qui marche bien. J'espère que tu as bien compris mon problème
merci pour tout
voici la macro que j'ai enregistré dans ma feuille récapitulatif:
Private Sub Worksheet_Change(ByVal zone As Range)
Dim sh As Worksheet
Dim sel As Object
For Each sel In zone
Select Case sel.Column
Case 1
If sel.Text = "" Then Exit Sub
For Each sh In Sheets
If sh.Name = sel.Text Then Exit Sub
Next sh
Application.EnableEvents = False
Sheets("modèle").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = sel.Text
ActiveSheet.Cells(4, 2).Value = sel.Value
sel.Parent.Select
Application.EnableEvents = True
Case 2
Sheets(Cells(sel.Row, 1).Text).Cells(4, 10).Value = sel.Value
Case 3
Sheets(Cells(sel.Row, 1).Text).Cells(5, 2).Value = sel.Value
Case 4
Sheets(Cells(sel.Row, 1).Text).Cells(5, 10).Value = sel.Value
Case Else
End Select
Next sel
End Sub
Sub zx()
Application.EnableEvents = True
End Sub
voici la macro que j'ai écrite et qui marche bien. J'espère que tu as bien compris mon problème
merci pour tout
ma feuille récapitulative s'appelle "devis" et mes feuilles crées dépendent du n°de prix
1.2.1 ou 1.2.2 ou 1.2.3 .............
1.2.1 ou 1.2.2 ou 1.2.3 .............
Bonjour,
il faudrait mettre sur www.cijoint.fr ton fichier avec qcq feuiilles car là je ne vois pas que H30 soit rempli au moment de sa création, s'il y a d'autres feuilles que "devis" et celles crées, en quelle colonne de devis se trouve ta référence de prix ni si ils sont ordonnés..
eric
il faudrait mettre sur www.cijoint.fr ton fichier avec qcq feuiilles car là je ne vois pas que H30 soit rempli au moment de sa création, s'il y a d'autres feuilles que "devis" et celles crées, en quelle colonne de devis se trouve ta référence de prix ni si ils sont ordonnés..
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait ces valeurs ne sont pas mises à jour à la création de la feuille mais évoluent selon tes saisies.
Je t'ai donc fait une macro de mise à jour de ta feuille devis avec un bouton 'MàJ' et un raccourci clavier ALT+m.
La valeur n'est copiée que si c'est une valeur numérique (pour filtrer les erreurs, et les textes sont exclus aussi)
J'ai nommé ta zone devis!A11:A46 NumPrix et je ne balaie que ces cellules. Si ta feuille évolue pense à redéfinir cette zone nommée si besoin.
le code :
eric
Je t'ai donc fait une macro de mise à jour de ta feuille devis avec un bouton 'MàJ' et un raccourci clavier ALT+m.
La valeur n'est copiée que si c'est une valeur numérique (pour filtrer les erreurs, et les textes sont exclus aussi)
J'ai nommé ta zone devis!A11:A46 NumPrix et je ne balaie que ces cellules. Si ta feuille évolue pense à redéfinir cette zone nommée si besoin.
le code :
Sub Maj()
For Each cel In Range("NumPrix")
For i = 1 To Worksheets.Count
If Worksheets(i).Name = cel.Value Then
If IsNumeric(Worksheets(i).[G30].Value) Then
cel.Offset(0, 4) = Worksheets(i).[G30].Value
End If
If IsNumeric(Worksheets(i).[H30].Value) Then
cel.Offset(0, 5) = Worksheets(i).[H30].Value
End If
End If
Next i
Next cel
End Subhttp://www.cijoint.fr/cij29571004834550.xls
eric
merci beaucoup pour ce travail c'est super,
juste une remarque si jamais dans ma feuille créée je dois insérer une ou plusieurs lignes alors
la valeur à recopier est H31 ou H32 ou H33 .... au lieu de H30 comment faire?
et pareil pour la valeur en G30?
merci de ton aide
juste une remarque si jamais dans ma feuille créée je dois insérer une ou plusieurs lignes alors
la valeur à recopier est H31 ou H32 ou H33 .... au lieu de H30 comment faire?
et pareil pour la valeur en G30?
merci de ton aide
A ce moment là met:
Et conserve toujours TOTAL GENERAL en colonne A sur la ligne concernée
http://www.cijoint.fr/cij50130378334535.xls
eric
Sub Maj()
Dim i As Long, lig As Long
Application.ScreenUpdating = False
For Each cel In Range("NumPrix")
For i = 1 To Worksheets.Count
If Worksheets(i).Name = cel.Value Then
Worksheets(i).Activate
lig = Evaluate("MATCH(""TOTAL GENERAL"",A:A,0)")
If IsNumeric(Cells(lig, 7).Value) Then
cel.Offset(0, 4) = Cells(lig, 7).Value
End If
If IsNumeric(Cells(lig, 8).Value) Then
cel.Offset(0, 5) = Cells(lig, 8).Value
End If
End If
Next i
Next cel
Worksheets("devis").Activate
Application.ScreenUpdating = True
End Sub
Et conserve toujours TOTAL GENERAL en colonne A sur la ligne concernée
http://www.cijoint.fr/cij50130378334535.xls
eric