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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| Sub COPIER_SESAME()
'Déclaration des variables
Dim b, c, d, e, f As String
'Sélection de la valeur de !DONNE E10 et mise en variable
Sheets("DONNE").Select
'verification des cellules à copier
If Range("B13").Value = "" Then
MsgBox ("Manque le nom et le prenom")
ElseIf Range("B28").Value = "" Then
MsgBox ("manque le téléphone")
ElseIf Range("B42").Value = "" Then
MsgBox ("Manque le N° du compte")
ElseIf Range("A56").Value = "" Then
MsgBox ("Le client ne veut pas de carte")
ElseIf Application.WorksheetFunction.CountIf(Sheets("STATSESAME").Range("c11:c" & Sheets("STATSESAME").Range("c65536").End(xlUp).Row), Range("B42").Value) > 0 Then
MsgBox ("Ce compte est déjà présent dans la feuille STATSESAME")
Else
'copie des cellules
b = Range("B42").Value 'nom_prenom
c = Range("A56").Value 'Type produit
d = Range("b28").Value 'téléphone
e = Range("B13").Value 'n° compte
f = Range("A55").Value 'Réf pièce
'selection de la feuille de destination
Sheets("STATSESAME").Select
'selection de la première cellule de destination
Range("c11").Select
'vérification de la cellule de destination
If ActiveCell.Value = "" Then 'si la cellule est vide, on colle
ActiveCell = b
ActiveCell.Offset(0, 1) = e
ActiveCell.Offset(0, 2) = d
ActiveCell.Offset(0, 3) = c
ActiveCell.Offset(0, 4) = f
Exit Sub
Else 'la cellule n'est pas vide
'on boucle tant que la cellule de destination n'est pas vide
Do While ActiveCell.Value <> ""
'selection de la cellule du dessous
ActiveCell.Offset(1, 0).Select
'si la cellule est vide, on colle
If ActiveCell.Value = "" Then
ActiveCell = b
ActiveCell.Offset(0, 1) = e
ActiveCell.Offset(0, 2) = d
ActiveCell.Offset(0, 3) = c
ActiveCell.Offset(0, 4) = f
Exit Sub
Else
'selection de la cellule du dessous
ActiveCell.Offset(1, 0).Select
End If
Loop 'on boucle tant que la cellule n'est pas vide
End If
'si la cellule est vide, fin de la boucle, et on colle
ActiveCell = b
ActiveCell.Offset(0, 1) = e
ActiveCell.Offset(0, 2) = d
ActiveCell.Offset(0, 3) = c
ActiveCell.Offset(0, 4) = f
End If
End Sub |
Partager