Archivage et restauration devis VBA
Bonjour, je cherche actuellement à créer un archivage de devis et un moyen de restaurer les informations si par exemple nous devons passer sur un versione 1 ou 2 ...
pour l'instant j'arrive à mettre les informations que je souhaite dans la feuille "historique archivage", mais je rencontre un premier problème : je suis obligé de donner un ordre au niveau des colonnes, j'aimerais que si la colonne à droite est vide alors le prochain "champ" à mettre aille dedans. Voici mon code actuel :
Private Sub Archivage_Click()
Message = MsgBox("Voulez-vous archiver le devis ?", vbYesNo)
ligne = Sheets("Historique Archivage").Range("A2").End(xlDown).Row + 1
Range("Numero").Value = Range("NumDevis").Value
If Message = vbYes Then
Sheets("Historique Archivage").Range("A" & ligne).Value = Sheets("Devis").Range("NumDevis")
Sheets("Historique Archivage").Range("B" & ligne).Value = Sheets("Devis").Range("Date")
Sheets("Historique Archivage").Range("C" & ligne).Value = Sheets("Devis").Range("A17")
Sheets("Historique Archivage").Range("D" & ligne).Value = Sheets("Devis").Range("A14")
Sheets("Historique Archivage").Range("E" & ligne).Value = Sheets("Devis").Range("K3")
Sheets("Historique Archivage").Range("F" & ligne).Value = Sheets("Devis").Range("TOTAL_HT")
Sheets("Historique Archivage").Range("G" & ligne).Value = Sheets("Devis").Range("TVA")
Sheets("Historique Archivage").Range("H" & ligne).Value = Sheets("Devis").Range("TOTAL_TTC")
End If
End Subj'aimerais trouver un code pour faire en sorte que si la colonne A est vide alors la valeur NumDevis est inséré dedans, si B est vide c'est la valeur date etc etc
Si jamais vous avez des idées je suis preneur.
j'ai essayé de potasser sur d'autres code mais rien ne marche :
Sub test()
ligne = Sheets("Historique Archivage").Range("A2").End(xlDown).Row + 1
colonne = Sheets("Historique Archivage").Range("A2").End(xlDown).Column
Range("Numero").Value = Range("NumDevis").Value
If Sheets("Historique Archivage").Cells(ligne, colonne).Value <> "STOP" Then
colonne = colonne + 1
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("NumDevis")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("Date")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("A17")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("A14")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("K3")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("TOTAL_HT")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("TVA")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("TOTAL_TTC")
End If
End Sub
Sub testb()
ligne = Sheets("Historique Archivage").Range("A2").End(xlDown).Row + 1
colonne = Sheets("Historique Archivage").Range("A2").End(xlDown).Column
Do While Sheets("Historique Archivage").Range(Cells(ligne, 1), Cells(ligne, 100)).Value = ""
colonne = colonne + 1
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("NumDevis")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("Date")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("A17")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("A14")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("K3")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("TOTAL_HT")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("TVA")
Sheets("Historique Archivage").Cells(ligne, colonne).Value = Sheets("Devis").Range("TOTAL_TTC")
Loop
End SubMerci par avance,
Goat
Bonjour
Avec le fichier anonymisé si nécessaire on gagnerait du temps