Bonjour le forum,
J'ai un soucis sur une macro, j'aimerais la faire évoluer pour qu'elle reste compatible dans le temps.
A l'origine je sauvegarde mes éléments dans un onglet 2012 dans un fichier 2 ce qui marche très bien :
Macro de départ :
Et mon objectif est de prendre l'année se trouvant dans ma cellule A34 et de choisir le fichier en fonction de cette valeur
Essai de macro :
Et mon 2ème problème concerne une fonction NB.SI avec laquelle je me bat. J'aimerais commencer à compter à partir de 8 et non de 1.
Exemple
Si 1er champ remplis mettre le chiffre 8
Si 2ème champ remplis vérifier que si le 1er est remplis mettre 9 sinon mettre 8 et ainsi de suite.
Merci d'avance à tous.
Cdlt,
Sad
J'ai un soucis sur une macro, j'aimerais la faire évoluer pour qu'elle reste compatible dans le temps.
A l'origine je sauvegarde mes éléments dans un onglet 2012 dans un fichier 2 ce qui marche très bien :
Macro de départ :
Code:
Genere_QS_AFAPS()
'Incrémenter num de facture
Dim i As Long
Dim TestString As String
Dim LResult As String
Dim fichierreferencefacture As String
Dim ongletreference As String
Dim colonnereference As String
LResult = Mid(ActiveSheet.Range("C7").Value, 5, 6)
TestString = Mid(ActiveSheet.Range("C7").Value, 11, 2)
fichierreferencefacture = "G:\OPERATIONS\OPS_Region_Europe\Aviation\Production Pièces\Historique\historique_facture.xls"
If Dir(fichierreferencefacture) = "" Then
MsgBox "Fichier de Reference non trouvé"
Exit Sub
End If
ongletreference = "2012"
colonnereference = "A"
tempstr = retournevaleur(fichierreferencefacture, ongletreference, colonnereference)
If tempstr = "" Then
Else
tempstr = StrReverse(tempstr)
tempstr = Split(tempstr, "/")(0)
tempstr = StrReverse(tempstr)
i = CLng(tempstr) + 1
End If
Range("K40").Value = LResult & "/" & TestString & "/" & i
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, LResult & "/" & TestString & "/" & i
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, ActiveSheet.Range("A1").Value, 1
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, ActiveSheet.Range("C15").Value, 2
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, ActiveSheet.Range("C21").Value, 3
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, ActiveSheet.Range("H7").Value, 4
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, ActiveSheet.Range("H10").Value, 5
Et mon objectif est de prendre l'année se trouvant dans ma cellule A34 et de choisir le fichier en fonction de cette valeur
Essai de macro :
Code:
Sub Genere_AFAPS()
'Incrémenter num de facture
Dim i As Long
Dim TestString As String
Dim LResult As String
Dim fichierreferencefacture As String
Dim ongletreference As String
Dim colonnereference As String
Dim Vannee As String
LResult = Mid(ActiveSheet.Range("C7").Value, 5, 6)
TestString = Mid(ActiveSheet.Range("C7").Value, 11, 2)
Vannee = Mid(ActiveSheet.Range("A34"), , 4)
fichierreferencefacture = "G:\OPERATIONS\OPS_Region_Europe\Aviation\Production Pièces\Historique\historique_facture.xls"
If Dir(fichierreferencefacture) = "" Then
MsgBox "Fichier de Reference non trouvé"
Exit Sub
End If
ongletreference = "Vannee"
colonnereference = "A"
tempstr = retournevaleur(fichierreferencefacture, ongletreference, colonnereference)
If tempstr = "" Then
Else
tempstr = StrReverse(tempstr)
tempstr = Split(tempstr, "/")(0)
tempstr = StrReverse(tempstr)
i = CLng(tempstr) + 1
End If
Range("G36").Value = LResult & "/" & TestString & "/" & i
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, LResult & "/" & TestString & "/" & i
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, ActiveSheet.Range("A1").Value, 1
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, ActiveSheet.Range("C15").Value, 2
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, ActiveSheet.Range("C21").Value, 3
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, ActiveSheet.Range("H7").Value, 4
ecrirevaleurderniereligne fichierreferencefacture, ongletreference, colonnereference, ActiveSheet.Range("H10").Value, 5
Et mon 2ème problème concerne une fonction NB.SI avec laquelle je me bat. J'aimerais commencer à compter à partir de 8 et non de 1.
Exemple
Si 1er champ remplis mettre le chiffre 8
Si 2ème champ remplis vérifier que si le 1er est remplis mettre 9 sinon mettre 8 et ainsi de suite.
Merci d'avance à tous.
Cdlt,
Sad