Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier des cellules

  • Initiateur de la discussion Initiateur de la discussion cl4ud10
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cl4ud10

XLDnaute Junior
Bonjour à tous...

Pour mon travail, j'ai créé plusieurs feuilles de excel ou je registre la compression de cubes de béton selon les catégories (20-25; 25-30;30-37......). Dans ces feuilles je rentre les données dans les cellules en jaune ( Date; N° du BL; Recette de béton; Fck; R1 et R2), les restes est rempli par des formules automatiques...
Puis j'ai a la fin une feuille (Famille NF1), que est un résumé de toutes les autres feuilles....et là je rentre également les données dans les cellules en jaune ( Date; N° du BL; Recette de béton; Fck et Fci), suivant les résultats obtenus dans les feuilles 20-25; 25-30.... (... le reste est automatique...

Ma question est la suivantes, est-il possible que les données dans la feuille Famille NF1 soient copiées automatiquement quand on rempli les feuilles 20-25; 25-30 .....

Je vous mets en annexe la feuille que j'ai créé, se sera plus facile a comprendre se que je veux réussir a faire.

Merci a tous pour toute l'aide possible.
Et j'en profite pour dire merci et un très bon boulot à tous ceux qui participe et qui aide les autres dans ce forum.
 

Pièces jointes

Re : Copier des cellules

Bonjour cl4ud10 et bienvenue 🙂

Avant d'imaginer une solution, il faudrait que tu clarifies certains points:
  • Tu as une feuille "30-37" et la suivante est nommée "35-45" ... n'y aurait-il pas comme un problème de "superposition" 😕
  • Dans chacune de tes 4 premières feuilles, on a bien, au départ de B19, un certain nombre de données en lignes, sur 6 colonnes en jaune, mais il ne faut copier que les colonnes B, C, D, E ... et I (en ne reprenant que les valeurs pour cette dernière colonne et non les formules!?). Le tout étant ensuite collé dans les colonnes B à F de la feuille "Famille NF1"?
  • Le volume à copier risque-t-il de rester relativement stable (156 lignes colorées dans la feuille "Famille NF1") ou alors tu risques d'avoir des milliers de lignes, à court ou moyen terme?


Dans la pièce jointe, j'ai travaillé avec une macro. Celle-ce se déclenche à chaque activation de la feuille récapitulative. J'ai renommé les deux dernières feuilles (à toi de modifier ... attention qu'il faudra alors modifier dans le code de la macro elle-même --> clic droit sur l'onglet de la feuille "Famille NF1" > Visualiser le code)

Vois d'abord si le résultat est conforme à tes attentes, on règlera les "détails" ensuite 😛

Edit: fichier supprimé ... voir message #7
 
Dernière édition:
Re : Copier des cellules

Merci pour ta réponse et je passe a expliquer...

Ces feuilles sont pour enregistrer la résistance caractéristique des cubes de bétons.
1º_Il existe plusieurs classes de résistances et on doit les classés selon la norme EN 206-1, ces classes sont C8/12; C12/15; C16/20; C20/25; C25/30; C30/37; C35/45; C40/50 et C45/55. Comme tu vois, il n' existe pas de superposition?? C' est une imposition de la norme. Dans mon cas je n' utilise que 4 classes de résistance différente.

2º_Je remplis les valeurs dans les 4 premières feuilles; B, C, D, E, F et G, la valeur de I est calculé en fonction de H (RC Moy) et le facteur (E15).
Ces valeurs sont ensuite copier dans la feuille Famille NF1, juste les valeurs...

3º_A long terme ( et on parle des 10, 15 ans???), je peux avoir plus ou moins 500 au maximum 1000 résultats donc le volume n'est pas si grand que ça...

Le fichier que tu as envoyer, si je rajoute des valeurs par exemple dans la feuille 25-30, il ne copie pas sur la dernière ligne de la feuille Famille NF1.
Se que je cherche, c'est a remplir dans la feuille 20-25, 25-30 .... ou 35-45, les valeurs et que elles soient copier automatiquement sur la feuille Famille NF... a savoir que "aujourd'hui je peux ajouter un essai sur la feuille 20-25 et demain un autre sur la feuille 30-37" et sur la feuille Famille NF il doivent respecter cette ordre chronologique...

Merci...
 
Re : Copier des cellules

Re-bonjour cl4ud10,

En voyant tes données, j'ai pensé qu'il y avait un lien entre la "fourchette" représentée par le nom de chaque feuille et les valeurs de "Fck" qui y étaient renseignées. S'il n'y a pas de superposition, tant mieux!!

Le fichier que je t'ai envoyé (et que je viens de re-tester ... on ne sait jamais!) copie bien les infos que tu ajoutes dans les 4 autres feuilles (pour autant que les macros soient activées) ... MAIS pas en dernière ligne (je n'avais pas vu cet aspect dans ta première demande!?). Comme la macro passe en revue les autres feuilles, elle recopie les données dans le même ordre: les "20-25" en premier, puis les "25-30", etc ...
Peut-être suffit-il de trier les données, une fois la copie réalisée? Tu veux bien faire le test: ajouter des données dans une feuille (mais pas à la fin de la 4e feuille!), activer la feuille "Famile NF1", vérifier si la donnée figure bien dans cette feuille récapitulative ... et nous dire si un tri réglerait le problème? (et si oui, un tri sur quelle colonne? les dates en colonne B?)
 
Re : Copier des cellules

Bonjour cl4ud10, Modeste, le forum,
Une autre approche par formulaire (il s’agit que d’une ébauche).
Pour la feuille Famille NF1, Fci peut-il être saisi dans le formulaire ?
Cordialement,
Bernard
P.S. Modeste : C’est un plaisir de te croiser sur ce fil. Amicalement.
 

Pièces jointes

Re : Copier des cellules

Re-bonjour et merci à tous pour toute l'aide...
Modeste, a chaque fois que je rempli les données dans les 4 feuilles et apres je vais voir dans la feuille Famille NF...
il y a une erreur: Run time error '1004'

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Me.Cells(31, 2).Resize(Me.Cells(Rows.Count, 2).End(xlUp).Row, 5).ClearContents
tabFeuilles = Array("20-25", "25-30", "30-35", "35-45")
For f = 0 To 3
With Sheets(tabFeuilles(f))
nbLignesSrc = .Range("B" & Rows.Count).End(xlUp).Row - 18
nbLignesCible = Me.Cells(Rows.Count, 6).End(xlUp).Row - 30
.[B19].Resize(nbLignesSrc, 4).Copy _
Me.Cells(31, 2).Offset(nbLignesCible, 0) '.Resize(nbLignes, 6)

.[I19].Resize(nbLignesSrc, 1).Copy
Me.Cells(31, 6).Offset(nbLignesCible, 0).PasteSpecial Paste:=xlPasteValues '.Resize(nbLignes, 6)
Application.CutCopyMode = False
End With
Next f
Application.ScreenUpdating = True
End Sub

et lá moi je ne comprends rien !!!!!

Après dans la feuille de la Famille NF, sur les formules que j'avais, il y a 'C:\Users\Luc\AppData\Local\Temp\Temp1_Statistique NF.zip .... j'ai fait un PrtSc que j'envoi.... et ça me donne des erreurs.....


bbb38,

l'approche par formulaire est une solution que je n'avais jamais essayer... et que je ne sais pas faire... mes connaissances en excel ne sont pas 'génial' mais je trouve ta solution très intéressante...
le Fci est calculé dans les feuilles en fonction de H (RC Moy) et le facteur (E15)... la valeur Fci qui est trouvé dans les feuilles 25, 30, 37 et 45.
Dans ton exemple le Fci de la feuille de 25 est 41.34 (c' est la moyenne de R1 et R2 multiplié par le facteur 1.105), donc cette valeur trouver dans la feuille de 25, Fci 41.34 doit être copier dans la feuille Famille NF.
 

Pièces jointes

Re : Copier des cellules

Bonsoir,

@bbb38: "tout le plaisir est pour moi", comme aurait dit ma grand-mère 🙂 Pas regardé ta proposition, mais je m'y mets dans 5 min.

@cl4ud10: pour la formule en colonne O, c'est ma faute 😱 Je dépose une nouvelle version du fichier (et je supprime celui de mon premier message). Je ne parviens pas à reproduire ton erreur 1004 ... Merci de tester à nouveau, si tu veux bien!
 

Pièces jointes

Re : Copier des cellules

Bonjour à tous, bonjour Modeste et bbb38

@ Cl4ud10 : Tes tests me rappellent le DUT Mesures Physiques...

Perso, je verrai bien un classement en feuille Famille NF par rapport au N de bon de livraison. Apparemment, ceux-ci sont classés dans l'ordre croissant. Est-ce vraiment le cas, ou préfères-tu un classement par date ?

@ plus
 
Re : Copier des cellules

Modeste, ça marche impeccable....il faut juste faire un classement en feuille Famille NF par rapport au N de bon de livraison.
Et ça je ne sais pas si tu arrives à le faire automatiquement ....

Exactement comme a suggérer CISCO....

"@ Cl4ud10 : Tes tests me rappellent le DUT Mesures Physiques..." c´est presque ça se sont les résistances en Mpa des cubes de bétons.

Merci à tous.
 
Re : Copier des cellules

Re²,
Salut CISCO 🙂 merci pour la précision (... tu nous concoctes une petite solution différente de celles déjà "sur le marché"?)

S'il faut trier, c'est évidemment possible ... mais comment faut-il considérer les cellules grises et vides des colonnes M et N 😕 Si elles doivent rester telles quelles, on ne peut trier tout le tableau!? On ne trierait, dès lors que les 5 premières colonnes??

Au passage, cl4ud10, tu as une donnée qui n'est pas du tout une date (en dernière ligne de la feuille "25-30"). Il serait prudent d'ajouter une validation de données à cette colonne (au moins!)

Arff! trop tard, j'ai ma réponse, CISCO 😀
 
Re : Copier des cellules

Re-merci à tous!!!!
Génial votre aide et disponibilité pour aider.....

Modeste, ta solution était presque parfaite....presque parce que il faut trier tout le tableau, par date ou par nº de bon de livraison et les cases M et N doivent rester tel quel.... parce que je ne peux définir l'écart type qu' au 15eme résultats !!!!!
Tu as raison, une validation pour les dates est une bonne idée et évitera les erreurs.

CISCO.... je sais pas comment mais tu as fait exactement se que je cherchai .... le tableau fonctionne bien, il ajoute automatiquement a la feuille Famille NF les résultats et il fait le trie par le nº de BL ( qui est une excellente solution car on peut avoir plusieurs essais à la même date mais pas avec le même BL)

Merci encore une fois à tous...
 
Re : Copier des cellules

Re-bonsoir,

Si la solution de CISCO convient, alors ce sera pour le principe: une petite ligne de plus dans le code permet de trier par N° de BL
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Me.Cells(31, 2).Resize(Me.Cells(Rows.Count, 2).End(xlUp).Row, 5).ClearContents
tabFeuilles = Array("20-25", "25-30", "30-37", "35-45")
For f = 0 To 3
    With Sheets(tabFeuilles(f))
        nbLignesSrc = .Range("B" & Rows.Count).End(xlUp).Row - 18
        nbLignesCible = Me.Cells(Rows.Count, 6).End(xlUp).Row - 30
        .[B19].Resize(nbLignesSrc, 4).Copy _
            Me.Cells(31, 2).Offset(nbLignesCible, 0)
        .[I19].Resize(nbLignesSrc, 1).Copy
        Me.Cells(31, 6).Offset(nbLignesCible, 0).PasteSpecial Paste:=xlPasteValues
        Application.CutCopyMode = False
    End With
Next f
'Tri sur N de BL
Me.Range("B30:F" & Me.Cells(Rows.Count, 2).End(xlUp).Row).Sort key1:=Me.[C31], order1:=xlAscending, Header:=xlYes
Application.ScreenUpdating = True
End Sub

Bonne fin de soirée à tous,
 
Re : Copier des cellules

Bonjour à tous
Re-merci à tous!!!!
je sais pas comment mais tu as fait exactement se que je cherchai .... le tableau fonctionne bien...

La formule importante est celle donnant le n° de bon de livraison. Elle recherche la première, puis la seconde, puis la troisième plus petite valeur des plages contenant les n° de bon de livraison de toutes les feuilles de 20-25 à 35-45.

Si jamais tu venais à "sortir" une de ces feuilles de cette série, en la plaçant par exemple après la feuille Famille NF, elle ne serait plus prise en compte, ou il faudrait modifier la formule en conséquence.

Pour comprendre les autres formules, il te faut aller voir la signification des fonctions INDEX et EQUIV. Le principe : la formule recherche (avec EQUIV) la position du n° du bon de livraison sur la première feuille. Si elle le trouve, elle renvoie le contenu de la bonne colonne sur la même ligne (avec INDEX). Si elle ne le trouve pas, elle fait le même test sur la feuille suivante (grace à la seconde partie de SIERREUR). Et ainsi de suite.

@ plus
 
Dernière édition:
Re : Copier des cellules

Bonjour à tous,

Et maintenant, j'ai deux solutions qui fonctionne parfaitement!!!
"alors ce sera pour le principe: une petite ligne de plus dans le code permet de trier par N° de BL", la petite ligne comme tu dis fait des merveilles....ça fonctionne parfaitement!!!
Excellent travail Modeste...merci

Quand a ta solution CISCO.... je ne connais pas toutes les formules de excel et je ne savais du tout de la solution que tu as trouvé..... mais je vais l'étudier pour une prochaine fois....merci pour ta solution qui fonctionne parfaitement...

Deux solutions différentes mais qui montre comment vous maîtriser .... merci Modeste et merci CISCO 😎😎

Encore une fois merci à tous ceux qui mon aider...
Et je profite pour vous souhaiter un très bon week end!!!
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…