Bonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui me
permet d'insérer une ligne dans une base de donnée, de recopier celle du
dessus, vider les données inutiles et conserver formules et format (MFC,
validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*", Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne 6 le
nom des champs. Comment puis-je obtenir le même résultat en positionnant ce
nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et l'heure
de la création puis je copie et colle les valeurs pour que la cellule ne
soit pas dynamique. Cela fonctionne mais n'y a t-il pas un code VBA plus
subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plus
simple! (sourire)
Merci d'avance,
Jérôme
Bonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui me
permet d'insérer une ligne dans une base de donnée, de recopier celle du
dessus, vider les données inutiles et conserver formules et format (MFC,
validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*", Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne 6 le
nom des champs. Comment puis-je obtenir le même résultat en positionnant ce
nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et l'heure
de la création puis je copie et colle les valeurs pour que la cellule ne
soit pas dynamique. Cela fonctionne mais n'y a t-il pas un code VBA plus
subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plus
simple! (sourire)
Merci d'avance,
Jérôme
Bonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui me
permet d'insérer une ligne dans une base de donnée, de recopier celle du
dessus, vider les données inutiles et conserver formules et format (MFC,
validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*", Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne 6 le
nom des champs. Comment puis-je obtenir le même résultat en positionnant ce
nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et l'heure
de la création puis je copie et colle les valeurs pour que la cellule ne
soit pas dynamique. Cela fonctionne mais n'y a t-il pas un code VBA plus
subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plus
simple! (sourire)
Merci d'avance,
Jérôme
Bonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui me
permet d'insérer une ligne dans une base de donnée, de recopier celle du
dessus, vider les données inutiles et conserver formules et format (MFC,
validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*", Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne 6 le
nom des champs. Comment puis-je obtenir le même résultat en positionnant ce
nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et l'heure
de la création puis je copie et colle les valeurs pour que la cellule ne
soit pas dynamique. Cela fonctionne mais n'y a t-il pas un code VBA plus
subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plus
simple! (sourire)
Merci d'avance,
Jérôme
Bonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui me
permet d'insérer une ligne dans une base de donnée, de recopier celle du
dessus, vider les données inutiles et conserver formules et format (MFC,
validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*", Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne 6 le
nom des champs. Comment puis-je obtenir le même résultat en positionnant ce
nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et l'heure
de la création puis je copie et colle les valeurs pour que la cellule ne
soit pas dynamique. Cela fonctionne mais n'y a t-il pas un code VBA plus
subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plus
simple! (sourire)
Merci d'avance,
Jérôme
Bonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui me
permet d'insérer une ligne dans une base de donnée, de recopier celle du
dessus, vider les données inutiles et conserver formules et format (MFC,
validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*", Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne 6 le
nom des champs. Comment puis-je obtenir le même résultat en positionnant ce
nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et l'heure
de la création puis je copie et colle les valeurs pour que la cellule ne
soit pas dynamique. Cela fonctionne mais n'y a t-il pas un code VBA plus
subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plus
simple! (sourire)
Merci d'avance,
Jérôme
bonjour Jérôme,
Private Sub CommandButton1_Click()
'sur la prochaine ligne il vaut peut être mieux remplacer "Selection" par
Range("C8")
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:=xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
Rows("8:8").Insert Shift:=xlDown
Rows("7:8").FillDown
Union(Range("C8:Q8"), Range("S8:V8"), Range("Z8:AB8"),
Range("X8")).ClearContents
Range("R8") = "D"
Range("Y8") = Now
End Sub
isabelleBonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui
me permet d'insérer une ligne dans une base de donnée, de recopier celle
du dessus, vider les données inutiles et conserver formules et format
(MFC, validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne 6
le nom des champs. Comment puis-je obtenir le même résultat en
positionnant ce nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et
l'heure de la création puis je copie et colle les valeurs pour que la
cellule ne soit pas dynamique. Cela fonctionne mais n'y a t-il pas un
code VBA plus subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plus
simple! (sourire)
Merci d'avance,
Jérôme
bonjour Jérôme,
Private Sub CommandButton1_Click()
'sur la prochaine ligne il vaut peut être mieux remplacer "Selection" par
Range("C8")
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:=xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
Rows("8:8").Insert Shift:=xlDown
Rows("7:8").FillDown
Union(Range("C8:Q8"), Range("S8:V8"), Range("Z8:AB8"),
Range("X8")).ClearContents
Range("R8") = "D"
Range("Y8") = Now
End Sub
isabelle
Bonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui
me permet d'insérer une ligne dans une base de donnée, de recopier celle
du dessus, vider les données inutiles et conserver formules et format
(MFC, validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne 6
le nom des champs. Comment puis-je obtenir le même résultat en
positionnant ce nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et
l'heure de la création puis je copie et colle les valeurs pour que la
cellule ne soit pas dynamique. Cela fonctionne mais n'y a t-il pas un
code VBA plus subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plus
simple! (sourire)
Merci d'avance,
Jérôme
bonjour Jérôme,
Private Sub CommandButton1_Click()
'sur la prochaine ligne il vaut peut être mieux remplacer "Selection" par
Range("C8")
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:=xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
Rows("8:8").Insert Shift:=xlDown
Rows("7:8").FillDown
Union(Range("C8:Q8"), Range("S8:V8"), Range("Z8:AB8"),
Range("X8")).ClearContents
Range("R8") = "D"
Range("Y8") = Now
End Sub
isabelleBonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui
me permet d'insérer une ligne dans une base de donnée, de recopier celle
du dessus, vider les données inutiles et conserver formules et format
(MFC, validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne 6
le nom des champs. Comment puis-je obtenir le même résultat en
positionnant ce nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et
l'heure de la création puis je copie et colle les valeurs pour que la
cellule ne soit pas dynamique. Cela fonctionne mais n'y a t-il pas un
code VBA plus subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plus
simple! (sourire)
Merci d'avance,
Jérôme
Voilà qui fonctionne tres bien!
J'ai donc appris les fonctions Union et Now. Merci!
"isabelle" a écrit dans le message de news:
%bonjour Jérôme,
Private Sub CommandButton1_Click()
'sur la prochaine ligne il vaut peut être mieux remplacer "Selection" par
Range("C8")
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*" ,
Operator:=xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
Rows("8:8").Insert Shift:=xlDown
Rows("7:8").FillDown
Union(Range("C8:Q8"), Range("S8:V8"), Range("Z8:AB8"),
Range("X8")).ClearContents
Range("R8") = "D"
Range("Y8") = Now
End Sub
isabelleBonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel q ui
me permet d'insérer une ligne dans une base de donnée, de recopier celle
du dessus, vider les données inutiles et conserver formules et format
(MFC, validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin* ",
Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlN one,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la l igne 6
le nom des champs. Comment puis-je obtenir le même résultat en
positionnant ce nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et
l'heure de la création puis je copie et colle les valeurs pour que la
cellule ne soit pas dynamique. Cela fonctionne mais n'y a t-il pas un
code VBA plus subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plu s
simple! (sourire)
Merci d'avance,
Jérôme- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Voilà qui fonctionne tres bien!
J'ai donc appris les fonctions Union et Now. Merci!
"isabelle" <i@v> a écrit dans le message de news:
%237zdlwfbIHA.5...@TK2MSFTNGP02.phx.gbl...
bonjour Jérôme,
Private Sub CommandButton1_Click()
'sur la prochaine ligne il vaut peut être mieux remplacer "Selection" par
Range("C8")
Selection.AutoFilter Field:=3, Criteria1:="=Centromaskin*" ,
Operator:=xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
Rows("8:8").Insert Shift:=xlDown
Rows("7:8").FillDown
Union(Range("C8:Q8"), Range("S8:V8"), Range("Z8:AB8"),
Range("X8")).ClearContents
Range("R8") = "D"
Range("Y8") = Now
End Sub
isabelle
Bonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel q ui
me permet d'insérer une ligne dans une base de donnée, de recopier celle
du dessus, vider les données inutiles et conserver formules et format
(MFC, validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="=Centromaskin* ",
Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlN one,
SkipBlanks _
:=False, Transpose:=False
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la l igne 6
le nom des champs. Comment puis-je obtenir le même résultat en
positionnant ce nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et
l'heure de la création puis je copie et colle les valeurs pour que la
cellule ne soit pas dynamique. Cela fonctionne mais n'y a t-il pas un
code VBA plus subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plu s
simple! (sourire)
Merci d'avance,
Jérôme- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Voilà qui fonctionne tres bien!
J'ai donc appris les fonctions Union et Now. Merci!
"isabelle" a écrit dans le message de news:
%bonjour Jérôme,
Private Sub CommandButton1_Click()
'sur la prochaine ligne il vaut peut être mieux remplacer "Selection" par
Range("C8")
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*" ,
Operator:=xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
Rows("8:8").Insert Shift:=xlDown
Rows("7:8").FillDown
Union(Range("C8:Q8"), Range("S8:V8"), Range("Z8:AB8"),
Range("X8")).ClearContents
Range("R8") = "D"
Range("Y8") = Now
End Sub
isabelleBonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel q ui
me permet d'insérer une ligne dans une base de donnée, de recopier celle
du dessus, vider les données inutiles et conserver formules et format
(MFC, validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin* ",
Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlN one,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la l igne 6
le nom des champs. Comment puis-je obtenir le même résultat en
positionnant ce nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et
l'heure de la création puis je copie et colle les valeurs pour que la
cellule ne soit pas dynamique. Cela fonctionne mais n'y a t-il pas un
code VBA plus subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire plu s
simple! (sourire)
Merci d'avance,
Jérôme- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Voilà qui fonctionne tres bien!
J'ai donc appris les fonctions Union et Now. Merci!
"isabelle" a écrit dans le message de news:
%bonjour Jérôme,
Private Sub CommandButton1_Click()
'sur la prochaine ligne il vaut peut être mieux remplacer "Selection"
par
Range("C8")
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:=xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
Rows("8:8").Insert Shift:=xlDown
Rows("7:8").FillDown
Union(Range("C8:Q8"), Range("S8:V8"), Range("Z8:AB8"),
Range("X8")).ClearContents
Range("R8") = "D"
Range("Y8") = Now
End Sub
isabelleBonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui
me permet d'insérer une ligne dans une base de donnée, de recopier
celle
du dessus, vider les données inutiles et conserver formules et format
(MFC, validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne
6
le nom des champs. Comment puis-je obtenir le même résultat en
positionnant ce nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et
l'heure de la création puis je copie et colle les valeurs pour que la
cellule ne soit pas dynamique. Cela fonctionne mais n'y a t-il pas un
code VBA plus subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire
plus
simple! (sourire)
Merci d'avance,
Jérôme- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Voilà qui fonctionne tres bien!
J'ai donc appris les fonctions Union et Now. Merci!
"isabelle" <i@v> a écrit dans le message de news:
%237zdlwfbIHA.5...@TK2MSFTNGP02.phx.gbl...
bonjour Jérôme,
Private Sub CommandButton1_Click()
'sur la prochaine ligne il vaut peut être mieux remplacer "Selection"
par
Range("C8")
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:=xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
Rows("8:8").Insert Shift:=xlDown
Rows("7:8").FillDown
Union(Range("C8:Q8"), Range("S8:V8"), Range("Z8:AB8"),
Range("X8")).ClearContents
Range("R8") = "D"
Range("Y8") = Now
End Sub
isabelle
Bonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui
me permet d'insérer une ligne dans une base de donnée, de recopier
celle
du dessus, vider les données inutiles et conserver formules et format
(MFC, validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne
6
le nom des champs. Comment puis-je obtenir le même résultat en
positionnant ce nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et
l'heure de la création puis je copie et colle les valeurs pour que la
cellule ne soit pas dynamique. Cela fonctionne mais n'y a t-il pas un
code VBA plus subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire
plus
simple! (sourire)
Merci d'avance,
Jérôme- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Voilà qui fonctionne tres bien!
J'ai donc appris les fonctions Union et Now. Merci!
"isabelle" a écrit dans le message de news:
%bonjour Jérôme,
Private Sub CommandButton1_Click()
'sur la prochaine ligne il vaut peut être mieux remplacer "Selection"
par
Range("C8")
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:=xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").EntireColumn.Hidden = False
Rows("8:8").Insert Shift:=xlDown
Rows("7:8").FillDown
Union(Range("C8:Q8"), Range("S8:V8"), Range("Z8:AB8"),
Range("X8")).ClearContents
Range("R8") = "D"
Range("Y8") = Now
End Sub
isabelleBonjour,
Voici un code effectué par enregistrement et petit nettoyage manuel qui
me permet d'insérer une ligne dans une base de donnée, de recopier
celle
du dessus, vider les données inutiles et conserver formules et format
(MFC, validation).
Enfin créer un nouvel enregistrement...
Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=3, Criteria1:="Întromaskin*",
Operator:= _
xlAnd
ActiveSheet.ShowAllData
Columns("A:AZ").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Selection.FillDown
Range("C8:Q8").Select
Selection.ClearContents
Range("R8").Select
ActiveCell.FormulaR1C1 = "D"
Range("S8:V8").Select
Selection.ClearContents
Range("X8").Select
Selection.ClearContents
Range("Y8").FormulaLocal = "=MAINTENANT()"
Range("Y8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("Z8:AB8").Select
Selection.ClearContents
Range("C8").Select
End Sub
Objectifs:
1) je crée la ligne en 8 car la première de ma BDD est en 7 et la ligne
6
le nom des champs. Comment puis-je obtenir le même résultat en
positionnant ce nouvel enregistrement en ligne 7?
2) en Y8 je mets la formule "MAINTENANT" pour conserver la date et
l'heure de la création puis je copie et colle les valeurs pour que la
cellule ne soit pas dynamique. Cela fonctionne mais n'y a t-il pas un
code VBA plus subtil?
Enfin pour finir, non je ne souhaite pas utiliser Access pour faire
plus
simple! (sourire)
Merci d'avance,
Jérôme- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -