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

XL 2016 Copie automatique VBA d'une cellule spécifique de toutes les feuilles du classeur

Nando71

XLDnaute Nouveau
Bonjour

J'ai un petit soucis avec le fichier, je n'arrive pas à créer un code. Je m'explique à partir de la feuille synthèse je rentre mes données, je remplis les cellules correspondantes à la ligne concernée dans la colonne c et cela me génère une nouvelle feuille.

Maintenant j'aimerai reporter automatiquement sur ma feuille Synthèse dans les cellule de B20 à B100 la valeur des cellules S67 de chaque feuille crées et surtout à chaque ajout d'une nouvelle feuille que cela vienne s'ajouter au dessous de la dernière cellule pleine .

Merci pour ton soutien

Bien cordialement
 

Pièces jointes

  • Exemplev2 (2).xlsm
    44.2 KB · Affichages: 5

Staple1600

XLDnaute Barbatruc
Précisions

J'ai bien évidemment inhibé ce code présent dans la feuille Synthèse
Code:
'Private Sub Worksheet_Change(ByVal Target As Range)
'If Not Application.Intersect(Target, Range("C4:C50" & Range("B100").End(3).Row)) Is Nothing Then
'Call Creer_Supprimer(Target)
'Sheets("Synthèse").Activate
'End If
'End Sub
Fais-en de même, et tu verras que ma macro fonctionne.
 

Nando71

XLDnaute Nouveau
Re

Same player shoot again

Regarde bien dans la colonne B de la feuille Synthèse

NB: Si j'ai ecris Test OK c'est que la macro fonctionne, sinon je ne l'aurais pas posté
Oui je pense bien que ton code fonctionne, vu que je suis novice dans le VBA ou mets-tu ce code ? dans la feuil1(Synthèse) ou dans le module1 car j'ai essayé dans le 2 mais je ne vois rien dans la colonne B

Merci pour ta patience
 

Staple1600

XLDnaute Barbatruc
Re

@Nando71
Ceci devrait faire l'affaire
Code:
Sub test_ok_B()
Dim f As Worksheet
For Each f In Worksheets
If Not f.Name Like "Synthèse" And Not f.Name Like "Type" Then
Sheets("Synthèse").Cells(Rows.Count, 2).End(3)(2) = f.[S67]
End If
Next
End Sub
ou cela également
Code:
Sub test_ok_C()
Dim f As Worksheet
For Each f In Worksheets
If Not InStr("SynthèseType", f.Name) > 0 Then
Sheets("Synthèse").Cells(Rows.Count, 2).End(3)(2) = f.[S67]
End If
Next
End Sub
 

Nando71

XLDnaute Nouveau
Merci mais cela me prend toujours la valeur S 67 de la Feuille Type. Cette feuille je veux l'exclure du calcul

Merci pour ton aide
 

Nando71

XLDnaute Nouveau
Il me faut encore une dernière chose stp ! C'est que lorsque je modifie la valeur des cellules S67 dans les feuilles cela me la change aussi automatiquement dans la feuille synthèse ou cela est reporté

Désolé merci infiniment
 

Discussions similaires

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