tactic6
XLDnaute Impliqué
Bonjour a tous, le forum les visiteurs, les sponsors ....
voici une macro réalisée par fred65200 sur ce fil https://www.excel-downloads.com/threads/comment-transferer-5-cellules.86318/
elle va tres bien mais j'ai changé le modèle de ma feuille 1(Facture) et maintenant j'ai une erreur 9
à la ligne :
Set F1 = Sheets("Facture")
l'indice n'appartient pas à la selection
quelqu'un aurait une petite idée ?
Fred si t'es là .....
merci pour votre aide
voici une macro réalisée par fred65200 sur ce fil https://www.excel-downloads.com/threads/comment-transferer-5-cellules.86318/
elle va tres bien mais j'ai changé le modèle de ma feuille 1(Facture) et maintenant j'ai une erreur 9
à la ligne :
Set F1 = Sheets("Facture")
l'indice n'appartient pas à la selection
quelqu'un aurait une petite idée ?
Option Base 1
Sub Transfert2()
Dim tablo(1, 6)
Dim tabloErreur As Variant
Dim tabloMsg As Variant
Dim tabloFacture As Variant
Dim Msg As String
Dim Msg1 As String
Dim Msg2 As String
Dim F1 As Worksheet
Dim F2 As Worksheet
Dim Derli As Long
Dim i As Integer
'initialisation des variables
Set F1 = Sheets("Facture")
Set F2 = Sheets("Feuil1")
' affectaction des valeurs de cellules au tableau
tablo(1, 1) = F1.[C12]
tablo(1, 2) = F1.[H5]
tablo(1, 3) = F1.[J6]
tablo(1, 4) = F1.[H8]
tablo(1, 5) = F1.[H12]
tablo(1, 6) = F1.[J59]
'Gestion des cellules non renseignées
tabloErreur = Array("", "Date", "")
tabloMsg = Array("nom", "date", "numéro")
Msg1 = "Il n'y a pas de "
Msg2 = ", la facture ne peut pas être enregistrée."
'boucle pour l'affichage des cellules non remplies
For i = 3 To 1 Step -1
If tablo(1, i) = tabloErreur(i) Then Msg = Msg & vbLf & Msg1 & tabloMsg(i) & Msg2
Next i
'si une condition remplie, affichage du message d'erreur et fin de Sub
If Not Msg = "" Then MsgBox Msg : Exit Sub
'Recherche de la dernière ligne de l'onglet "Feuil1"
Derli = F2.Columns("A").Find("*", , , , , xlPrevious).Row ' + 1
'Gestion des doublons
tabloFacture = F2.Range("C1:C" & Derli).Value
'si doublon, affichage du message et fin de Sub
If Not IsError(Application.Match(tablo(1, 3), tabloFacture, 0)) Then _
MsgBox "Le numéro de facture """ & tablo(1, 3) & """ existe déja!": Exit Sub
'insertion des données sur Feuil1
Derli = Derli + 1
F2.Cells(Derli, "I").Value = Now
F2.Range("A" & Derli & ":F" & Derli).Value = tablo
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
Fred si t'es là .....
merci pour votre aide
Dernière édition: