stephane.quinquis
XLDnaute Junior
Bonjour le forum,
J'ai une macro relié à un bouton. Ma macro transfère des données d'un classeur vers un autre classeur ligne par ligne.
J'ai une case avec initiales en D5. Et par exemple en D6 une personne doit rentrer ses initiales.
Ma macro doit faire la chose suivante:
Si la case D6 est vide alors la macro ne s'éxécute pas et donc le transfert de données ne se fait pas
Si possible également afficher une message box avec"erreur car manque les initiales".
Mon problème essentiel est de savoir si je construis une autre macro pour cette condition ou alors si je peux le placer en début de macro.
Merci d'avance
J'ai une macro relié à un bouton. Ma macro transfère des données d'un classeur vers un autre classeur ligne par ligne.
Code:
Sub validationrefonteligne6()
'
' validationrefonte Macro
' Macro enregistrée le 12/04/2010 par quinquis
Workbooks.Open "\\S110dvp02\chefeq\STAGE S QUINQUIS\inventaire production.xls"
Rows("7:7").Select
Range("E7").Activate
Selection.Insert Shift:=xlDown
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Interior.ColorIndex = 2
Selection.Font.ColorIndex = 0
ActiveWindow.SmallScroll ToRight:=-4
Range("O7:EL7").Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
Windows("GRAM-vierge.xls").Activate
Range("B6").Select
Selection.Copy
Windows("inventaire production.xls").Activate
Range("M7").Select
ActiveSheet.Paste
Windows("GRAM-vierge.xls").Activate
Range("C6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("E7").Select
ActiveSheet.Paste
Windows("GRAM-vierge.xls").Activate
Range("D6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("L7").Select
ActiveSheet.Paste
Windows("GRAM-vierge.xls").Activate
Range("E6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("C7").Select
ActiveSheet.Paste
Windows("GRAM-vierge.xls").Activate
Range("Q6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("D7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("GRAM-vierge.xls").Activate
Range("R6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("F7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("GRAM-vierge.xls").Activate
Range("S6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("G7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("GRAM-vierge.xls").Activate
Range("T6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("K7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("GRAM-vierge.xls").Activate
Range("U6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("H7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("GRAM-vierge.xls").Activate
Range("V6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("I7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("GRAM-vierge.xls").Activate
Range("W6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
ActiveWindow.SmallScroll ToRight:=3
Range("J7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("GRAM-vierge.xls").Activate
Range("X6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("A7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("GRAM-vierge.xls").Activate
Range("Y6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("inventaire production.xls").Activate
Range("B7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
ActiveWindow.SmallScroll ToRight:=-7
Range("B6:Y6").Select
Selection.Interior.ColorIndex = 6
End Sub
J'ai une case avec initiales en D5. Et par exemple en D6 une personne doit rentrer ses initiales.
Ma macro doit faire la chose suivante:
Si la case D6 est vide alors la macro ne s'éxécute pas et donc le transfert de données ne se fait pas
Si possible également afficher une message box avec"erreur car manque les initiales".
Mon problème essentiel est de savoir si je construis une autre macro pour cette condition ou alors si je peux le placer en début de macro.
Merci d'avance