OVH Cloud OVH Cloud

Formule VBA qui efface un chiffre dans une cellule

8 réponses
Avatar
Frasax
Je voudrais avoir en VBA une formule qui efface un chiffre « nombre introduit
manuellement et effacé avec delete » dans la colonne L5 lorsque la ligne, par
exemple G5 :P5 ne contient plus de texte. Attention, les cellules G5 :P5 sauf
la cellule L5 contiennent des formules. Il existe déjà une macro pour
transférer le texte ligne par ligne de G5 :P104 dans une autre feuille.
Est-ce qu’une macro peut être ajoutée à celle existante pour effectuer cette
suppression et laquelle ?
Merci de votre aide et meilleures salutations
Francis

8 réponses

Avatar
Jacky
-----------
S'agit-il d'effacer ce chiffre après le transfert sur facturation ??
Si oui en fin de macro
'--------
Range("L" & x).Delete
'-----
--
Salutations
JJ

"Frasax" a écrit dans le message de news:

Je voudrais avoir en VBA une formule qui efface un chiffre « nombre
introduit
manuellement et effacé avec delete » dans la colonne L5 lorsque la ligne,
par
exemple G5 :P5 ne contient plus de texte. Attention, les cellules G5 :P5
sauf
la cellule L5 contiennent des formules. Il existe déjà une macro pour
transférer le texte ligne par ligne de G5 :P104 dans une autre feuille.
Est-ce qu'une macro peut être ajoutée à celle existante pour effectuer
cette
suppression et laquelle ?
Merci de votre aide et meilleures salutations
Francis



Avatar
Frasax
Hé Bonjour Jacky, merci encore pour le programme du 20 ct. ça fonctionne très
très bien. Malheureusement, j'oublie certaine fois d'enlever le chiffre dans
la colonne "L" du tableau. J'ai essayé la formule Range("L" & x).Delete et ce
qui ce passe c'est que la colonne "O" qui est grisée s'insère dans la colonne
"N" et le chiffre dans la colonne "L" reste après le transfert sur
facturation. Il doit manquer un tout petit truc, quoi ?
-------
A+ Francis


"Jacky" wrote:

-----------
S'agit-il d'effacer ce chiffre après le transfert sur facturation ??
Si oui en fin de macro
'--------
Range("L" & x).Delete
'-----
--
Salutations
JJ

"Frasax" a écrit dans le message de news:

Je voudrais avoir en VBA une formule qui efface un chiffre « nombre
introduit
manuellement et effacé avec delete » dans la colonne L5 lorsque la ligne,
par
exemple G5 :P5 ne contient plus de texte. Attention, les cellules G5 :P5
sauf
la cellule L5 contiennent des formules. Il existe déjà une macro pour
transférer le texte ligne par ligne de G5 :P104 dans une autre feuille.
Est-ce qu'une macro peut être ajoutée à celle existante pour effectuer
cette
suppression et laquelle ?
Merci de votre aide et meilleures salutations
Francis








Avatar
Jacky
Re...
Re-donne la macro Stp

JJ

"Frasax" a écrit dans le message de news:

Hé Bonjour Jacky, merci encore pour le programme du 20 ct. ça fonctionne
très
très bien. Malheureusement, j'oublie certaine fois d'enlever le chiffre
dans
la colonne "L" du tableau. J'ai essayé la formule Range("L" & x).Delete et
ce
qui ce passe c'est que la colonne "O" qui est grisée s'insère dans la
colonne
"N" et le chiffre dans la colonne "L" reste après le transfert sur
facturation. Il doit manquer un tout petit truc, quoi ?
-------
A+ Francis


"Jacky" wrote:

-----------
S'agit-il d'effacer ce chiffre après le transfert sur facturation ??
Si oui en fin de macro
'--------
Range("L" & x).Delete
'-----
--
Salutations
JJ

"Frasax" a écrit dans le message de
news:

Je voudrais avoir en VBA une formule qui efface un chiffre « nombre
introduit
manuellement et effacé avec delete » dans la colonne L5 lorsque la
ligne,
par
exemple G5 :P5 ne contient plus de texte. Attention, les cellules G5
:P5
sauf
la cellule L5 contiennent des formules. Il existe déjà une macro pour
transférer le texte ligne par ligne de G5 :P104 dans une autre feuille.
Est-ce qu'une macro peut être ajoutée à celle existante pour effectuer
cette
suppression et laquelle ?
Merci de votre aide et meilleures salutations
Francis










Avatar
Frasax
Voici la macro
-------
Sub facturation()
Application.ScreenUpdating = False
derlg = Sheets("facturation").Range("a65536").End(3).Row + 1
x = ActiveSheet.[e2] + 4
ActiveSheet.Range("g" & x & ":p" & x).Copy
With Sheets("facturation")
.Range("a" & derlg).PasteSpecial Paste:=xlPasteValues
.Range("h" & derlg + 1 & ":j" & derlg + 1) = ""
.Range("h" & derlg + 2) = "Total:"
.Range("j" & derlg + 2).Formula = "=SUM(j2:j" & derlg & " )"
End With
Application.CutCopyMode = False
End Sub
----------
A+ merci

"Jacky" wrote:

Re...
Re-donne la macro Stp

JJ

"Frasax" a écrit dans le message de news:

Hé Bonjour Jacky, merci encore pour le programme du 20 ct. ça fonctionne
très
très bien. Malheureusement, j'oublie certaine fois d'enlever le chiffre
dans
la colonne "L" du tableau. J'ai essayé la formule Range("L" & x).Delete et
ce
qui ce passe c'est que la colonne "O" qui est grisée s'insère dans la
colonne
"N" et le chiffre dans la colonne "L" reste après le transfert sur
facturation. Il doit manquer un tout petit truc, quoi ?
-------
A+ Francis


"Jacky" wrote:

-----------
S'agit-il d'effacer ce chiffre après le transfert sur facturation ??
Si oui en fin de macro
'--------
Range("L" & x).Delete
'-----
--
Salutations
JJ

"Frasax" a écrit dans le message de
news:

Je voudrais avoir en VBA une formule qui efface un chiffre « nombre
introduit
manuellement et effacé avec delete » dans la colonne L5 lorsque la
ligne,
par
exemple G5 :P5 ne contient plus de texte. Attention, les cellules G5
:P5
sauf
la cellule L5 contiennent des formules. Il existe déjà une macro pour
transférer le texte ligne par ligne de G5 :P104 dans une autre feuille.
Est-ce qu'une macro peut être ajoutée à celle existante pour effectuer
cette
suppression et laquelle ?
Merci de votre aide et meilleures salutations
Francis















Avatar
Jacky
Re...
Ceci fonctionne chez moi.....
'--------
Sub facturation()
Application.ScreenUpdating = False
derlg = Sheets("facturation").Range("a65536").End(3).Row + 1
x = ActiveSheet.[e2] + 4
ActiveSheet.Range("g" & x & ":p" & x).Copy
With Sheets("facturation")
.Range("a" & derlg).PasteSpecial Paste:=xlPasteValues
.Range("h" & derlg + 1 & ":j" & derlg + 1) = ""
.Range("h" & derlg + 2) = "Total:"
.Range("j" & derlg + 2).Formula = "=SUM(j2:j" & derlg & " )"
End With
Range("L" & x).Delete
Application.CutCopyMode = False
End Sub
'-------------
JJ


"Frasax" a écrit dans le message de news:

Voici la macro
-------
Sub facturation()
Application.ScreenUpdating = False
derlg = Sheets("facturation").Range("a65536").End(3).Row + 1
x = ActiveSheet.[e2] + 4
ActiveSheet.Range("g" & x & ":p" & x).Copy
With Sheets("facturation")
.Range("a" & derlg).PasteSpecial Paste:=xlPasteValues
.Range("h" & derlg + 1 & ":j" & derlg + 1) = ""
.Range("h" & derlg + 2) = "Total:"
.Range("j" & derlg + 2).Formula = "=SUM(j2:j" & derlg & " )"
End With
Application.CutCopyMode = False
End Sub
----------


Avatar
Frasax
Chez moi ça ne fonctionne pas. Ce qui ce passe à mon avis, la colonne "L"
n'est plus reconnue et toutes la ligne se déplace d'une colonne, "L" devient
"M" et ainsi de suite. Ce qu'il faudrait, c'est que la colonne "L" reste et
qu'elle efface seulement ce qui se trouve dans la cellule. Pas évident
mais....
-----
A+ Francis


"Jacky" wrote:

Re...
Ceci fonctionne chez moi.....
'--------
Sub facturation()
Application.ScreenUpdating = False
derlg = Sheets("facturation").Range("a65536").End(3).Row + 1
x = ActiveSheet.[e2] + 4
ActiveSheet.Range("g" & x & ":p" & x).Copy
With Sheets("facturation")
.Range("a" & derlg).PasteSpecial Paste:=xlPasteValues
.Range("h" & derlg + 1 & ":j" & derlg + 1) = ""
.Range("h" & derlg + 2) = "Total:"
.Range("j" & derlg + 2).Formula = "=SUM(j2:j" & derlg & " )"
End With
Range("L" & x).Delete
Application.CutCopyMode = False
End Sub
'-------------
JJ


"Frasax" a écrit dans le message de news:

Voici la macro
-------
Sub facturation()
Application.ScreenUpdating = False
derlg = Sheets("facturation").Range("a65536").End(3).Row + 1
x = ActiveSheet.[e2] + 4
ActiveSheet.Range("g" & x & ":p" & x).Copy
With Sheets("facturation")
.Range("a" & derlg).PasteSpecial Paste:=xlPasteValues
.Range("h" & derlg + 1 & ":j" & derlg + 1) = ""
.Range("h" & derlg + 2) = "Total:"
.Range("j" & derlg + 2).Formula = "=SUM(j2:j" & derlg & " )"
End With
Application.CutCopyMode = False
End Sub
----------







Avatar
Jacky
Re...
Grossière erreur de ma part,
C'esr bien sûr:
Range("L" & x).ClearContents

Excuse
JJ

"Frasax" a écrit dans le message de news:

Chez moi ça ne fonctionne pas. Ce qui ce passe à mon avis, la colonne "L"
n'est plus reconnue et toutes la ligne se déplace d'une colonne, "L"
devient
"M" et ainsi de suite. Ce qu'il faudrait, c'est que la colonne "L" reste
et
qu'elle efface seulement ce qui se trouve dans la cellule. Pas évident
mais....
-----
A+ Francis


"Jacky" wrote:

Re...
Ceci fonctionne chez moi.....
'--------
Sub facturation()
Application.ScreenUpdating = False
derlg = Sheets("facturation").Range("a65536").End(3).Row + 1
x = ActiveSheet.[e2] + 4
ActiveSheet.Range("g" & x & ":p" & x).Copy
With Sheets("facturation")
.Range("a" & derlg).PasteSpecial Paste:=xlPasteValues
.Range("h" & derlg + 1 & ":j" & derlg + 1) = ""
.Range("h" & derlg + 2) = "Total:"
.Range("j" & derlg + 2).Formula = "=SUM(j2:j" & derlg & " )"
End With
Range("L" & x).Delete
Application.CutCopyMode = False
End Sub
'-------------
JJ


"Frasax" a écrit dans le message de
news:

Voici la macro
-------
Sub facturation()
Application.ScreenUpdating = False
derlg = Sheets("facturation").Range("a65536").End(3).Row + 1
x = ActiveSheet.[e2] + 4
ActiveSheet.Range("g" & x & ":p" & x).Copy
With Sheets("facturation")
.Range("a" & derlg).PasteSpecial Paste:=xlPasteValues
.Range("h" & derlg + 1 & ":j" & derlg + 1) = ""
.Range("h" & derlg + 2) = "Total:"
.Range("j" & derlg + 2).Formula = "=SUM(j2:j" & derlg & " )"
End With
Application.CutCopyMode = False
End Sub
----------









Avatar
Frasax
Merci c'est OK, jessaie depuis un moment d'envoyer un message , parceque
j'avais trouvé la solution, juste que, je ne savais pas si après "Clear" il
fallait mettre "Contents".
Encore merci pour ce bon travail.
Cordiales salutations.
Francis


"Jacky" wrote:

Re...
Grossière erreur de ma part,
C'esr bien sûr:
Range("L" & x).ClearContents

Excuse
JJ

"Frasax" a écrit dans le message de news:

Chez moi ça ne fonctionne pas. Ce qui ce passe à mon avis, la colonne "L"
n'est plus reconnue et toutes la ligne se déplace d'une colonne, "L"
devient
"M" et ainsi de suite. Ce qu'il faudrait, c'est que la colonne "L" reste
et
qu'elle efface seulement ce qui se trouve dans la cellule. Pas évident
mais....
-----
A+ Francis


"Jacky" wrote:

Re...
Ceci fonctionne chez moi.....
'--------
Sub facturation()
Application.ScreenUpdating = False
derlg = Sheets("facturation").Range("a65536").End(3).Row + 1
x = ActiveSheet.[e2] + 4
ActiveSheet.Range("g" & x & ":p" & x).Copy
With Sheets("facturation")
.Range("a" & derlg).PasteSpecial Paste:=xlPasteValues
.Range("h" & derlg + 1 & ":j" & derlg + 1) = ""
.Range("h" & derlg + 2) = "Total:"
.Range("j" & derlg + 2).Formula = "=SUM(j2:j" & derlg & " )"
End With
Range("L" & x).Delete
Application.CutCopyMode = False
End Sub
'-------------
JJ


"Frasax" a écrit dans le message de
news:

Voici la macro
-------
Sub facturation()
Application.ScreenUpdating = False
derlg = Sheets("facturation").Range("a65536").End(3).Row + 1
x = ActiveSheet.[e2] + 4
ActiveSheet.Range("g" & x & ":p" & x).Copy
With Sheets("facturation")
.Range("a" & derlg).PasteSpecial Paste:=xlPasteValues
.Range("h" & derlg + 1 & ":j" & derlg + 1) = ""
.Range("h" & derlg + 2) = "Total:"
.Range("j" & derlg + 2).Formula = "=SUM(j2:j" & derlg & " )"
End With
Application.CutCopyMode = False
End Sub
----------