didus
XLDnaute Occasionnel
Bonjour à tous,
J'ai un énorme tableau excel avec de nombreuses macros et des données sensibles, mon besoin est plutôt simple en comparaison mais je bute sur la syntaxe.
Dans ma macro,
- je met en correspondance des valeurs dans deux feuilles
- actuellement je copiais simplement le contenu de certaines cellules d'une feuille vers des cellules de l'autres, simple
- là je souhaite tester le contenu des cellules de la premiére feuille (soit un texte "partielle", soit une date et ne copier que ce qui est vrai dans ce test là.Partielle ou date
c'est donc "juste" la syntaxe du test qui me bloque, en effet je souhaiterai n'utiliser, si possible qu'une ligne de test (la ligne en gras),
Merci d'avance
Sub Maj()
'
'Dim derligP, derligL As Long
'Dim G, PL, LstRw As Long
' Mise à jour vers général à partir de liaions ou postes (AJ = L ou P) et si codif ir non déjà existant (unique)
Call raz_filtre_GLP
Set w1 = ActiveWorkbook
Call deprotege
With Sheets("Liaisons")
LstRw = .Cells.Find("*", Cells(Rows.Count, Columns.Count), xlValues, , 1, 2, 0).Row
' determine la derniére ligne de Liaisons
For PL = 11 To Sheets("Liaisons").Range("A65536").End(xlUp).Row
For G = 5 To Sheets("Général").Range("A65536").End(xlUp).Row
'Met à jour les données de Liaisons vers Général
If InStr(Sheets("Général").Range("AT" & G), Sheets("Liaisons").Range("BN" & PL)) = 1 Then
'Sheets("Général").Range("W" & G) = Sheets("Liaisons").Range("I" & PL)
if Sheets("Liaisons").Range("I" & PL)= "Partielle" .or.
Sheets("Général").Range("X" & G) = Sheets("Liaisons").Range("I" & PL)
End If
Sheets("Général").Range("Y" & G) = Sheets("Liaisons").Range("J" & PL)
Sheets("Général").Range("Z" & G) = Sheets("Liaisons").Range("K" & PL)
Sheets("Général").Range("AA" & G) = Sheets("Liaisons").Range("L" & PL)
Sheets("Général").Range("AB" & G) = Sheets("Liaisons").Range("M" & PL)
Sheets("Général").Range("AC" & G) = Sheets("Liaisons").Range("N" & PL)
Sheets("Général").Range("U" & G) = Sheets("Liaisons").Range("H" & PL)
End If
Next G
Next PL
End With
' si on inclus les postes dans la remontée d'info future
'Call Maj_postes
Call protege
End Sub
J'ai un énorme tableau excel avec de nombreuses macros et des données sensibles, mon besoin est plutôt simple en comparaison mais je bute sur la syntaxe.
Dans ma macro,
- je met en correspondance des valeurs dans deux feuilles
- actuellement je copiais simplement le contenu de certaines cellules d'une feuille vers des cellules de l'autres, simple
- là je souhaite tester le contenu des cellules de la premiére feuille (soit un texte "partielle", soit une date et ne copier que ce qui est vrai dans ce test là.Partielle ou date
c'est donc "juste" la syntaxe du test qui me bloque, en effet je souhaiterai n'utiliser, si possible qu'une ligne de test (la ligne en gras),
Merci d'avance
Sub Maj()
'
'Dim derligP, derligL As Long
'Dim G, PL, LstRw As Long
' Mise à jour vers général à partir de liaions ou postes (AJ = L ou P) et si codif ir non déjà existant (unique)
Call raz_filtre_GLP
Set w1 = ActiveWorkbook
Call deprotege
With Sheets("Liaisons")
LstRw = .Cells.Find("*", Cells(Rows.Count, Columns.Count), xlValues, , 1, 2, 0).Row
' determine la derniére ligne de Liaisons
For PL = 11 To Sheets("Liaisons").Range("A65536").End(xlUp).Row
For G = 5 To Sheets("Général").Range("A65536").End(xlUp).Row
'Met à jour les données de Liaisons vers Général
If InStr(Sheets("Général").Range("AT" & G), Sheets("Liaisons").Range("BN" & PL)) = 1 Then
'Sheets("Général").Range("W" & G) = Sheets("Liaisons").Range("I" & PL)
if Sheets("Liaisons").Range("I" & PL)= "Partielle" .or.
Sheets("Général").Range("X" & G) = Sheets("Liaisons").Range("I" & PL)
End If
Sheets("Général").Range("Y" & G) = Sheets("Liaisons").Range("J" & PL)
Sheets("Général").Range("Z" & G) = Sheets("Liaisons").Range("K" & PL)
Sheets("Général").Range("AA" & G) = Sheets("Liaisons").Range("L" & PL)
Sheets("Général").Range("AB" & G) = Sheets("Liaisons").Range("M" & PL)
Sheets("Général").Range("AC" & G) = Sheets("Liaisons").Range("N" & PL)
Sheets("Général").Range("U" & G) = Sheets("Liaisons").Range("H" & PL)
End If
Next G
Next PL
End With
' si on inclus les postes dans la remontée d'info future
'Call Maj_postes
Call protege
End Sub