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
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
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
 

Discussions similaires

Statistiques des forums

Discussions
312 099
Messages
2 085 286
Membres
102 851
dernier inscrit
didine501