VBA comment effacer la derniere cellule plein
Résolu
julsof
Messages postés
13
Statut
Membre
-
Leahkim Messages postés 3219 Statut Membre -
Leahkim Messages postés 3219 Statut Membre -
Bonjour,
Voila, mon probleme.
Je suis en train de développer une petite structure en VB pour une amie mais je bloque sur la fin.
En fait j'incrémente des lignes dans un tableau via des input box.
En fin de code j'aimerais sélectionner la dernière cellule pleine de la colonne E et voir si elle est égale à 0.
ensuite si elle est = à 0 j'aimerais l'effacer sinon la laisser.
Le problème est que je n'arrive pas à intégrer mon IF then
en français je voudrais faire ça :
if (la derniere cellule pleine de la colonne E = 0) then (efface là) sinon (ne fait rien)
voila mon code :
Sub creation_article()
Dim creation_article As String
MsgBox "Vous allez créer un nouvel article H2O", vbDefaultButton1
reponse = MsgBox("Voulez-vous continuer ?", vbYesNo)
If reponse = vbNo Then Exit Sub
Ref = InputBox("Indiquez la REFERENCE de l'article", "CREATION D'ARTICLE")
désignation = InputBox("Indiquez DESIGNATION de l'article", "CREATION D'ARTICLE")
PUachatHT = InputBox("Indiquez le Prix Unitaire d'achat HT", "CREATION D'ARTICLE")
PUventeHT = InputBox("Indiquez le Prix Unitaire de vente HT", "CREATION D'ARTICLE")
Sheets("base").Range("N1").Value = Ref
Sheets("base").Range("O1").Value = désignation
Sheets("base").Range("P1").Value = PUachatHT
Sheets("base").Range("Q1").Value = PUventeHT
Sheets("base").Select
Range("N1:Q1").Select
Selection.Copy
Range("A" & Range("A65536").End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("base").Select
Sheets("base").Select
Range("N1:Q1").Select
Selection.ClearContents
Range("E" & Range("E65536").End(xlUp).Row + 0).Select
Selection.Copy
Range("E" & Range("E65536").End(xlUp).Row + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
merci de votre aide
Voila, mon probleme.
Je suis en train de développer une petite structure en VB pour une amie mais je bloque sur la fin.
En fait j'incrémente des lignes dans un tableau via des input box.
En fin de code j'aimerais sélectionner la dernière cellule pleine de la colonne E et voir si elle est égale à 0.
ensuite si elle est = à 0 j'aimerais l'effacer sinon la laisser.
Le problème est que je n'arrive pas à intégrer mon IF then
en français je voudrais faire ça :
if (la derniere cellule pleine de la colonne E = 0) then (efface là) sinon (ne fait rien)
voila mon code :
Sub creation_article()
Dim creation_article As String
MsgBox "Vous allez créer un nouvel article H2O", vbDefaultButton1
reponse = MsgBox("Voulez-vous continuer ?", vbYesNo)
If reponse = vbNo Then Exit Sub
Ref = InputBox("Indiquez la REFERENCE de l'article", "CREATION D'ARTICLE")
désignation = InputBox("Indiquez DESIGNATION de l'article", "CREATION D'ARTICLE")
PUachatHT = InputBox("Indiquez le Prix Unitaire d'achat HT", "CREATION D'ARTICLE")
PUventeHT = InputBox("Indiquez le Prix Unitaire de vente HT", "CREATION D'ARTICLE")
Sheets("base").Range("N1").Value = Ref
Sheets("base").Range("O1").Value = désignation
Sheets("base").Range("P1").Value = PUachatHT
Sheets("base").Range("Q1").Value = PUventeHT
Sheets("base").Select
Range("N1:Q1").Select
Selection.Copy
Range("A" & Range("A65536").End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("base").Select
Sheets("base").Select
Range("N1:Q1").Select
Selection.ClearContents
Range("E" & Range("E65536").End(xlUp).Row + 0).Select
Selection.Copy
Range("E" & Range("E65536").End(xlUp).Row + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
merci de votre aide
A voir également:
- VBA comment effacer la derniere cellule plein
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Supprimer dernière page word - Guide
- Dernière version chrome - Accueil - Applications & Logiciels
- Excel compter cellule couleur sans vba - Guide
- Excel cellule couleur si condition texte - Guide
5 réponses
if (la derniere cellule pleine de la colonne E = 0) then (efface là) sinon (ne fait rien)
ça c'est pas vraiment possible, il n y a pas de "derniere cellule pleine" en VB ..., enfin je pense pas.
il te faut un while:
Dim A as Integer
WHILE (a<ton nombre de case maximum)
IF cells(A,E)=="" THEN row(A).select = true
selection.delete
WEND
la syntaxe est pas excate, mais l'algo est la
ça c'est pas vraiment possible, il n y a pas de "derniere cellule pleine" en VB ..., enfin je pense pas.
il te faut un while:
Dim A as Integer
WHILE (a<ton nombre de case maximum)
IF cells(A,E)=="" THEN row(A).select = true
selection.delete
WEND
la syntaxe est pas excate, mais l'algo est la
merci pour ta réponse rapide leahkim,
en fait je pense pouvoir trouver une solution à mon problème.
J'arrive à sélectionner la cellule dont j'ai besoin ( à me placer dessus) pas de problème.
Ce que j'essaie de faire sans y arriver encore, c'est de comparer cette cellule et de dire si elle est = O alors je la delete sinon rien
si tu as d'autres idées je suis preneur
merci encore
en fait je pense pouvoir trouver une solution à mon problème.
J'arrive à sélectionner la cellule dont j'ai besoin ( à me placer dessus) pas de problème.
Ce que j'essaie de faire sans y arriver encore, c'est de comparer cette cellule et de dire si elle est = O alors je la delete sinon rien
si tu as d'autres idées je suis preneur
merci encore
"=0"
tu veux dire égale au chiffre 0 ou vide ?
égale a 0 c'est: cells(COORDONNEES).value == 0
vide c'est cells(COORDONNEES).value == ""
tu veux dire égale au chiffre 0 ou vide ?
égale a 0 c'est: cells(COORDONNEES).value == 0
vide c'est cells(COORDONNEES).value == ""
en fait c'est ="0" , le chiffre 0 et je viens de trouver la solution ;-)
If Range("E" & Range("E65536").End(xlUp).Row + 0) = "0" Then Rows(ActiveCell.Row).Delete
'si la cellule au dessus de la derniere cellule de la colonne E est = à 0, alors sélectionne la ligne qui contient la cellule et efface la.
merci de m'avoir aiguillé.
du coup mon code est comme ceci :
Sub creation_article()
Dim creation_article As String
MsgBox "Vous allez créer un nouvel article H2O", vbDefaultButton1
reponse = MsgBox("Voulez-vous continuer ?", vbYesNo)
If reponse = vbNo Then Exit Sub
Ref = InputBox("Indiquez la REFERENCE de l'article", "CREATION D'ARTICLE")
désignation = InputBox("Indiquez DESIGNATION de l'article", "CREATION D'ARTICLE")
PUachatHT = InputBox("Indiquez le Prix Unitaire d'achat HT", "CREATION D'ARTICLE")
PUventeHT = InputBox("Indiquez le Prix Unitaire de vente HT", "CREATION D'ARTICLE")
Sheets("base").Range("N1").Value = Ref
Sheets("base").Range("O1").Value = désignation
Sheets("base").Range("P1").Value = PUachatHT
Sheets("base").Range("Q1").Value = PUventeHT
Sheets("base").Select
Range("N1:Q1").Select
Selection.Copy
Range("A" & Range("A65536").End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("base").Select
Sheets("base").Select
Range("N1:Q1").Select
Selection.ClearContents
Range("E" & Range("E65536").End(xlUp).Row + 0).Select
Selection.Copy
Range("E" & Range("E65536").End(xlUp).Row + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
If Range("E" & Range("E65536").End(xlUp).Row + 0) = "0" Then Rows(ActiveCell.Row).Delete
Sheets("accueil").Select
End Sub
If Range("E" & Range("E65536").End(xlUp).Row + 0) = "0" Then Rows(ActiveCell.Row).Delete
'si la cellule au dessus de la derniere cellule de la colonne E est = à 0, alors sélectionne la ligne qui contient la cellule et efface la.
merci de m'avoir aiguillé.
du coup mon code est comme ceci :
Sub creation_article()
Dim creation_article As String
MsgBox "Vous allez créer un nouvel article H2O", vbDefaultButton1
reponse = MsgBox("Voulez-vous continuer ?", vbYesNo)
If reponse = vbNo Then Exit Sub
Ref = InputBox("Indiquez la REFERENCE de l'article", "CREATION D'ARTICLE")
désignation = InputBox("Indiquez DESIGNATION de l'article", "CREATION D'ARTICLE")
PUachatHT = InputBox("Indiquez le Prix Unitaire d'achat HT", "CREATION D'ARTICLE")
PUventeHT = InputBox("Indiquez le Prix Unitaire de vente HT", "CREATION D'ARTICLE")
Sheets("base").Range("N1").Value = Ref
Sheets("base").Range("O1").Value = désignation
Sheets("base").Range("P1").Value = PUachatHT
Sheets("base").Range("Q1").Value = PUventeHT
Sheets("base").Select
Range("N1:Q1").Select
Selection.Copy
Range("A" & Range("A65536").End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("base").Select
Sheets("base").Select
Range("N1:Q1").Select
Selection.ClearContents
Range("E" & Range("E65536").End(xlUp).Row + 0).Select
Selection.Copy
Range("E" & Range("E65536").End(xlUp).Row + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
If Range("E" & Range("E65536").End(xlUp).Row + 0) = "0" Then Rows(ActiveCell.Row).Delete
Sheets("accueil").Select
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question