N'as-tu pas déjà la réponse ?
Sinon, c''est quoi exactement la question ?
Version imprimable
Je ne sais pas comment etre plus claire, je me répète...
Revoici mon code
Dans ma cellule A1 j'ai mis cette formule trouvé sur le net : =STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1))+1;Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 'Sub est le debut de la procedure Sub Rappel() 'Dim est une variable Dim DateJour As Date Dim DateLimite As Date 'Dim Nom As String 'Dim NomLot As String 'Dim Rappel As String Dim Cible As String 'Dim Total As Double Dim Cpt As Long Dim Couleur As Long Dim nb_lignes As Long Dim numero_ligne As Long 'DateJour = A la date du systeme DateJour = Date nb_lignes = WorksheetFunction.CountA(Range("A:A")) - 2 'Fonction NBVAL Cible = " Rappel" Cpt = 6 'For Each Onglet In Worksheets While IsEmpty(var) = False DateLimite = Range("D" & Cpt).Value numero_ligne = Range("F5") + Cpt Couleur = Range("D" & Cpt).Interior.Color If DateJour >= DateLimite And Couleur = 16777215 Then Range("A1").Copy Worksheets(Cible).Range("A" & Cpt) Cells(numero_ligne, 1).Copy Worksheets(Cible).Range("B" & Cpt) Cells(numero_ligne, 2).Copy Worksheets(Cible).Range("C" & Cpt) Cells(numero_ligne, 3).Copy Worksheets(Cible).Range("D" & Cpt) Cells(numero_ligne, 4).Copy Worksheets(Cible).Range("E" & Cpt) Cpt = Cpt + 1 var = True Else Cpt = Cpt + 1 var = False End If Wend MsgBox "Opération terminée" 'Next End Sub
NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1)))
Elle recupere donc ce que j'ai mis dans mon onglet. Donc si je la copie de ma feuille "Test 1" et que je vais la coller dans une autre cellule de mon autre feuille 'Test 2"
il me copie ce qui est noté de mon onglet.
En gros il ne m'ecrit pas Test1 dans ma feuille Test2 fin voilà je ne sais etre plus clair. Je peux te montrer mes tableaux si il le faut...
Ça n'a rien à voir avec le code VBA.
Quelle version d'Excel ?
Le mode de calcul ne serait-il pas en manuel ?
Code:Worksheets(Cible).calculate
Remplace la ligne 31 par celle ciCitation:
Non justement quand je fais ça il ne récupère pas ce qui se trouve en A1 il copie la formule que j'ai mise
donc lorsque il va coller il recoller la formule et m'inscrit le nom de l'onglet
Code:Worksheets(Cible).Range("A" & Cpt).Value = Range("A1").Value
Si c'était le cas, il aurait écris directement Rappel dans A & Cpt alors qu'il veut activesheet.name
J`avais répondu pour lui indiquer comment récupérer juste la valeur d'une cellule contenant une formule quelconque
Je crois avoir trouvé donc j'ai effectué ce code et pour l'instant il fonctionne :
Par contre j'ai une autre question, pour faire ma boucle dans toutes les feuilles, on m'avait donné ce code que je suis en train de testé,Code:
1
2
3 Range("A1").Value = ActiveSheet.Name Range("A1").Copy Worksheets(Cible).Range("A" & Cpt)
mais il ne lis pas mon onglet suivant.
Code:
1
2 Dim Onglet As Worksheet For Each Onglet In Worksheet
Beaucoup d'imprécisions pour rien
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Sub LeRappel() Dim LastLig As Long, i As Long, Cpt As Long, Couleur As Long Dim Onglet As Worksheet, wsRapp As Worksheet Cpt = 6 Set wsRapp = Worksheets("Rappel") For Each Onglet In Worksheets With Onglet If .Name <> wsRapp.Name Then LastLig = .Cells(.Rows.Count, 1).End(xlUp).Row If LastLig > 6 Then For i = 6 To LastLig Couleur = .Range("D" & i).Interior.Color If Date >= .Range("D" & i).Value And Couleur = 16777215 Then wsRapp.Range("A" & Cpt).Value = .Name wsRapp.Range("B" & Cpt).Resize(, 4).Value = .Range("A" & i).Resize(, 4).Value Cpt = Cpt + 1 End If Next i End If End If End With Next Onglet MsgBox "Opération terminée" End Sub
J'ai fait avec ce que je savais et ce que je comprenais...
Par contre pour le moment j'ai mis mon cpt > 12 mais après faut que je regarde ce sera lire toutes les lignes jusqu'à ce que je n'ai plus rien ecrit dedans...
Merci je testerais et regarderais un peu ce que tu as mis