Résultats pour "supprimer ligne valeur feuille"

14'585 résultats pour cette recherche

Bonjour à tous,

J'ai actuellement une macro qui me permet de transposer les données de ma listbox1 vers la feuille 2 du classeur en démarrant cette transposition en A11 de la feuille 2 du classeur.

Malheureusement, je ne sais pas comment supprimer les données de la ligne supprimée de la listbox1 sur ma feuille 2 du classeur.

Exemple :

Listbox1, je rentre les données à l'aide de mon bouton de commande Valider, à chaque fois que je clique Valider, les données s'intègrent au fur et à mesure sur ma listbox1 et en parallèle ces données de la listbox1 se transposent sur ma feuille 2 à partir de la celulle A11.

Quand je double clique sur ma ligne à supprimer dans ma listbox1, elle se supprime correctement mais sur ma feuille 2, la ligne qui a été supprimée dans ma listbox1 reste.

Comment faire pour que cette dernière se supprime aussi bien sur ma listbox1 que sur ma feuille 2 ?

En sachant que si je supprime la ligne 4 de ma listbox1, sur ma feuille 2 il faudra que cette ligne 4 soit supprimée et qu'il ne me laisse pas une ligne vide entre la ligne 3 et 5. En gros la ligne 5 devient la ligne 4.

Est-ce que quelqu'un aurait une idée du code et comment faire ?

J'espère que mes explications ont été claires.

Je vous ai mis en PJ mon fichier avec le code.

En vous remerciant par avance de votre aide ^^

Namco

12test.xlsm (57.76 Ko)

Bonjour à tous,

J'aimerais supprimer les lignes d'un tableau une par une avec un bouton, seulement je veux m’arrêter à la première pour pouvoir en créer d'autres plus tard sur le modèle de la première.

Voici ce que j'ai mais il y a une erreur :

Sub supp_rows()
Dim vnom As String, vrech As Range, derlign As Long
vnom = "Nombre de licences par Services"
Set vrech = Columns(1).Find(vnom)
If Not vrech Is Nothing Then
 derlign = Range("A" & vrech.Row).End(xlDown).Row

    If derlign = vnom(1, 0) Then
    MsgBox "Vous ne pouvez pas supprimer la première ligne !" & Chr(10) & Chr(13) _
    & "Aucune nouvelle ligne n'a été ajoutée."
    Exit Sub
    End If
Range("A" & derlign).EntireRow.Delete
End If
End Sub

D'avance merci pour votre aide.

Bonjour à tous !

ca va bien ?

Je suis nouveau dans Excel et je cherche depuis longtemps à faire ceci ; j'ai un document Excel qui contient plusieurs lignes. C'est un document que des travailleurs vont pouvoir remplir. Il doit être modifiable, on peut insérer des images, fusionner, etc. Donc, l'onglet de tout verrouiller ne fonctionne pas bien pour mon besoin. Cependant, je dois quand même empêcher la suppression d'une formule dans une cellule qui se rapporte à 2 menus déroulants. En fait, on sélectionne une probabilité (possible) et on sélectionne la gravité (modéré) et automatiquement, Excel calcule le niveau du risque (moyen) et l'affiche dans une cellule. Cependant, si la personne clique sur la cellule qui affiche le niveau de risque (moyen), elle peut supprimer la formule. Je ne veux pas. Elle peut supprimer le texte (moyen), mais pas la formule. Cependant, en faisant cela, sa supprime les deux soit le texte (faible) et la formule en arrière. En fait, c'est quand même dur à expliquer, mais mon exemple en pièce jointe va sûrement vous aider !

Un gros gros merci pour votre aide !

Bonne semaine

Bonjour,

j'ai une macro qui recherche sur une colonne les zéro

puis me supprime la ligne.

Dim x As Range 'Déclare la variable x -> x = cellule

Set x = Range("F2:F" & Range("F65536").End(xlUp).Row) 'x = F1 à dernière cellule pleine de I

For Each x In x 'Boucle sur toutes les cellules pleines de la colonne I

If x = 0 Then 'Si = 0

x.EntireRow.Delete 'Efface la ligne

End If 'Fin de la condition

Next x 'Fin de la boucle

' Fin de la suppression

Mon problème c'est que j'ai des formule qui pointe sur ces lignes, mais a chaque fois que les lignes sont supprimé, mes formules ne fonctionne plus car j'ai un #REF! dans mes formules.

je souhaite ne pas supprimer la ligne mais juste l'effacer ou la vider

Si vous avez une solution

d'avance merci et bonne journée

KissCool

Bonsoir,

Je souhaite mettre en bout de ligne un bouton de commande qui me permette de supprimer la ligne sur laquelle il se trouve, mais je n'y parviens pas car Excel n'identifie pas la position du bouton.

Merci d'avance pour votre aide.

Plec

Bonjour,

J'ai une longue liste de donnée pouvant aller jusqu'à 1000 lignes et je voudrais dire à Excel de supprimer une ligne qui vient juste après une cellule contenant un mot.

J'ai essayé des codes que j'ai cherché sur le Forum mais je ne trouve pas.

Je joins un fichier à titre d'exemple.

Voici le code que j'ai écrit:

Sub Supprimerligne()

Dim I As Integer

For I = [A65000].End(xlUp).Row To 1 Step -1

If Not Cells(I, 1).Find("Enchère") Is Nothing Then range(I).offset(1,0).delete

Next I

End sub

Merci!

4exemple-1.xlsx (47.64 Ko)

Bonjour à tous,

Je souhaiterais à partir d'une sélection de la ListBox supprimer la ligne sur la feuille active.

Sur l'USERFORM actuel, quand je clic sur supprimer, ça me supprime bien ma sélection dans la ListBox, mais pas sur la feuille active.

Et par la même occasion ,éviter un message d'erreur quand je clic sur "supprimer" quand ma ListBox est vide.

Merci d'avance pour l'aide

Anne

Bonjour,

Voici mon souci, je dois créer des feuilles Excel et parmi celles-ci se trouvent des feuilles qui ne comportent seulement une seule ligne.

Est-il possible via un code VBA de supprimer les feuilles qui ne possèdent qu'une seule ligne ? (En l'occurrence la ligne se situerait sur la 3ème ligne)

Cordialement, Romain

Bonjour le forum

petit souci pour supprimer une ligne dans une feuille de données

voir exemple ci-dessous

un grand merci pour votre aide

et bonne journée

cyberpapy44

Private Sub CommandButton1_Click()

Sheets("Données").Activate

Dim derligne As Integer

If MsgBox("confirmez-vous l'ajout des données?", vbYesNo, "confirmation") = vbYes Then

derligne = Sheets("Données").Range("A456541").End(xlUp).Row + 1

With Sheets("Données")

Cells(derligne, 1) = TextBox1.Value

Cells(derligne, 2) = ComboBox5.Value

Cells(derligne, 3) = ComboBox6.Value

Cells(derligne, 4) = ComboBox7.Value

Cells(derligne, 5) = TextBox5.Value

Cells(derligne, 7) = TextBox6.Value

Cells(derligne, 9) = TextBox7.Value

Cells(derligne, 6) = TextBox9.Value

Cells(derligne, 8) = TextBox10.Value

End With

End If

Bonsoir à tous,

je suis un peu embêté par mon fichier excel. En effet 1 million de lignes se sont rajoutées en bas de ma feuille ( qui en faisait 200 ).

Autant vous dire que le fichier est lent désormais. Je souhaiterais supprimer ces lignes sachant que je n'y arrive pas en les sélectionnant toutes. J'ai essayé d'en supprimer 10 000 mais 10 000 autres ligne apparaissent automatiquement à chaque supression!

Merci pour votre aide précieuse!

Henri

Bonjour,

Je viens vers vous car je n'arrive pas à trouver la solution, et en regardant sur le forum je ne trouve pas.

Après ouvert une userform et rapatrier mes données sur celle ci, je peux modifier mes données et les enregistrer.

En plus, je voudrais supprimer les données affichées sur l'userform et sur la feuille excel.

J’espère avoir bien expliqué.

Ci-joint le fichier.

Cordialement.

111annuaire.xlsm (154.40 Ko)

Bonjour à tous!

Alors je suis vraiment débutante en Excel et complètement ignorante en VBA :-/ Je suis néanmoins convaincue que c'est un dees meilleurs moyens pour s'organiser dans le travail.

J'essaie de créer un échéancier avec Excel sur lequel je vois tous mes documents en cours de production et leur statut d'avancement. J'aimerais qu'une fois qu'un document soit terminé je puisse dans la colonne "Archivate?" si je choisis "Yes", faire en sorte que toute la ligne de la colonne A à H se déplace dans la feuille "Archivate and Follow-up" à partir de la ligne 8 et en dessous (pas au dessus). Ce qu'il y a après H doit se supprimer.

La ligne peut se coller telle qu'elle à ça près que la fonction "TODAY" dans la première feuille soit figée dans la feuille d'archives (donc pas de mise à jour de la date d'aujourd'hui dans la feuille d'archives). J'aimerais aussi que quand on choisit "yes" dans "Archivate?" une box apparaisse pour demande confirmation "Do you want to archivate this document?". Voilà, j'ai essayé de rechercher sur VBA et d'adapter un code qu'on m'avait fait pour un document similaire mais je n'y arrive vraiment pas.

Merci d'avance pour votre aide et je vous souhaite une bonne journée!

Valerie

Bonjour,

J'ai un petit problème avec une macro. Ma macro prend des lignes sur une feuille selon une condition et les récopie sur une autre feuille. Cette partie fonctionne à merveille sauf que lorsque j'efface une ligne de ma première feuille, elle reste quand même sur la deuxième feuille.

Voici à quoi ressemble ma macro:

Sub DupliquerINSPECTION()

OptionCol(1) = 9

Dim i As Integer

For i = 2 To UBound(OptionCol)

OptionCol(i) = OptionCol(i - 1) + 2

Next i

Dim dupliLine As Long

Dim InputLine As Long

dupliLine = 8

InputLine = 2

Dim piece As String

piece = ""

While Worksheets("INSPECTION").Cells(InputLine, 3).Value <> ""

If Worksheets("INSPECTION").Cells(InputLine, 2).Value <> "" Then

piece = Worksheets("INSPECTION").Cells(InputLine, 2).Value

End If

If Worksheets("INSPECTION").Cells(InputLine, 7).Value <> "" Then

Call AddLine(piece, Worksheets("INSPECTION"), InputLine, Worksheets("RAPPORT"), dupliLine)

End If

InputLine = InputLine + 1

Wend

Sheets("RAPPORT").Activate

End Sub

Sub AddLine(piece As String, wsSource As Worksheet, InputLine As Long, wsTarget As Worksheet, targetLine As Long)

Dim ColI As Integer

With wsTarget

.Cells(targetLine, 3).Value = wsSource.Cells(InputLine, 4).Value

.Cells(targetLine, 2).Value = wsSource.Cells(InputLine, 3).Value

ActiveSheet.Unprotect Password:="RAPPORT"

.Cells(targetLine, 4).Value = piece

.Cells(targetLine, 5).Value = wsSource.Cells(InputLine, 5).Value

.Cells(targetLine, 7).Value = wsSource.Cells(InputLine, NotesColumn).Value

'.Cells(targetLine, 5).Value = wsSource.Cells(InputLine, NotesColumn).Value

'If .Cells(targetLine, 4).Value = "" Then .Cells(targetLine, 4).Value = .Cells(targetLine - 1, 4).Value

Call AddOptionsLines(wsSource, InputLine, wsTarget, targetLine)

End With

ActiveSheet.Protect Password:="RAPPORT"

End Sub

Sub AddOptionsLines(wsSource As Worksheet, InputLine As Long, wsTarget As Worksheet, targetLine As Long)

Dim targetLineAtBegin As Long

targetLineAtBegin = targetLine

With wsTarget

.Range(.Cells(targetLine, 2), .Cells(targetLine, 5)).Copy

Dim i As Integer

For i = 1 To UBound(OptionCol)

If wsSource.Cells(InputLine, OptionCol(i)).Value <> "" Then

.Cells(targetLine, 2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone

.Cells(targetLine, 6).Value = wsSource.Cells(InputLine, OptionCol(i) - 1).Value

targetLine = targetLine + 1

End If

Next i

If targetLine = targetLineAtBegin Then

targetLine = targetLine + 1

End If

End With

End Sub

Sub Add()

Range("A7:J150").Select

ActiveSheet.Unprotect Password:="RAPPORT"

ActiveSheet.Range("$A$7:$A$150").AutoFilter Field:=1, Criteria1:="<>"

Columns("C:F").Select

Range("C8").Activate

With Selection

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

End With

With Selection

.WrapText = True

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

End With

Range("H6:I6").Select

Range("B8:B150").Select

Selection.Cut

Range("T8").Select

ActiveSheet.Paste

Range("D8150").Select

Selection.Cut

Range("B8").Select

ActiveSheet.Paste

Range("T8:T150").Select

Selection.Cut

Range("D8").Select

ActiveSheet.Paste

Range("A8").Select

ActiveCell.FormulaR1C1 = "=ROW(R[-7]C:R[142]C)"

Range("A8").Select

Selection.AutoFill Destination:=Range("A8:A150"), Type:=xlFillDefault

Range("A8:A150").Select

Range("H8").Select

ActiveCell.FormulaR1C1 = _

"=IF(RC[-6]=""0c"",""Réjean"",IF(RC[-6]=""17c"",R6C4,IF(RC[-6]=""60c"",""Stéphane"",IF(RC[-6]=""70c"",""Réal"",""""))))"

Range("H8").Select

Selection.AutoFill Destination:=Range("H8:H150"), Type:=xlFillDefault

Range("H8:H150").Select

ActiveWorkbook.Worksheets("RAPPORT").AutoFilter.Sort.SortFields.Clear

ActiveWorkbook.Worksheets("RAPPORT").AutoFilter.Sort.SortFields.Add Key:= _

Range("B7:B620"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _

:=xlSortNormal

With ActiveWorkbook.Worksheets("RAPPORT").AutoFilter.Sort

.Header = xlYes

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

ActiveSheet.Protect Password:="RAPPORT"

End Sub

Bonjour,

Je suis à la recherche d'une option à cocher (ou à décocher) dans Excel qui me permettrait de supprimer une ligne dans une feuille protégée.

N'allez pas trop vite, j'ai bien cocher la case "Supprimer les lignes" lorsque je l'ai eu à ma disposition lors de l'activation du verrouillage.

Malheureusement, ça ne fonctionne pas et il me met le message comme quoi la feuille est verrouillée. Le message apparaît, que la ligne contienne des informations, ou non.

L'insertion, quand on utilise la même méthode, fonctionne très bien.

Je suis sous excel 2003.

Merci d'avance à tous.

Olivier.

Bonjour à tous,

Mon fichier Excel s'est soudainement ouvert d'une façon inattendue : la feuille est ouverte avec la barre d'outil mais n'affiche pas la feuille de calcul. Elle affiche une fenêtre qui contient ladite feuille de calcul (sans la barre d'outil).

]e joins une capture d'écran qui saura mieux expliquer

Je remercie les personnes qui voudront bien m'aider à résoudre ce problème.

Cordialement

illustration du probleme

Bonjour à tous je viens vers vous pour un petit coup de main car je cherche à éliminer à chaque ligne de mon tableau les valeurs qui se trouve entre 0,1et 0,07 dans une des cellules de la ligne

Si il y a une bonne âme pour m’aider ça serait bien gentil car je ne suis pas assez fort en VBA.

Merci

Bonjour à tous,

Je travaille actuellement sur un fichier sur lequel je bloque, étant assez limité techniquement en VBA.

Sur ma feuille 1, j'ai plusieurs lignes d'infos sur des véhicules, avec leur plaque d'immatriculation en colonne E.

Sur ma feuille 2, j'ai des milliers de lignes d'événements liés à des véhicules, dont l'immatriculation associée est en colonne G.

Je souhaiterais, via une macro, supprimer toutes les lignes de la feuille 2 dont l'immatriculation associée en colonne G n'est pas présente dans la feuille 1 en colonne E.

Sur les deux feuilles, les infos commencent en ligne 2 (ligne 1 = en-têtes)

Pouvez-vous m'aider sur ce point ?

Excellente journée,

Bonjour a tous,

Tout d'abord, pardonnez moi pour les accents, je suis sur un clavier qwerty.

J'ouvre ce sujet car je suis en train d'essayer d'automatiser les calculs d'un plan de financement et surtout celui des amortissements et capital restant du en fin de periode.

Dans l'exemple attache vous verrez en feuille Debts, 9 tableaux d'amortissement differents (bleu, rouge, vert et violet).

Pour chaque tableau 3 choix pour le profil d'amortissement: Constant, Bullet (In fine) ou Custom.

Je souhaite que les lignes de chaque tableau correspondant aux amortissements Custom soient cachees lorsque les choix sont sur Bullet ou Constant. Et donc que la ligne n'apparaisse que lorsque le choix est sur Custom.

Cela doit etre independant pour chaque tableau. En effet, je peux avoir le bleu sur Custom, un des rouges sur Bullet, un vert sur Constant et le violet sur Custom.

Ma demande concerne donc les lignes 21, 39, 57, 75, 93, 111, 129, 147 et 165.

J'ai reussi a le faire pour la ligne 21 en bricolant quelque chose a partir de code VBA trouve sur un forum mais bizarrement, impossible de dupliquer pour toutes les autres lignes et cellules de choix...

Pouvez vous m'aider svp?

Merci par avance.

11bp-test.xlsm (241.89 Ko)

Salut à tous,

Alors j'ai adapté un code pour supprimer les lignes qui ne contienne pas "PANNEAUX" dans la colonne Q :

Sub DelEditeur()
Dim i As Integer
With ThisWorkbook.Sheets("Feuil2")
'Précisez le nom de votre feuille
            For i = .Range("Q" & .Rows.Count).End(xlUp).Row To 2 Step -1
'je travaille sur la colonne Q
'Rows.count permet de retourner le nombre de ligne de la plage range
                        If .Range("Q" & i).Value <> "PANNEAUX" Then
                                   .Rows(i).Delete
                        End If
            Next i
End With
End Sub

J'aurais souhaité supprimer les lignes qui ne contienne pas "PANNEAUX" ou "PLEXI" ou "STRAT", j'ai donc essayer :

If .Range("Q" & i).Value <> "PANNEAUX" Or "PLEXI" Or "STRAT" Then

Sans succès, j'ai essayer les "Or", les "And" et les "&" mais sa doit pas être la bonne méthode !

Par la même occasion, comment appliquer le code seulement à partir de la ligne C (car j'ai les désignations des colonnes dans les lignes A et B) sauf que du coup, vu que la colonne Q des lignes A et B est différent de "PANNEAUX", eh bien sa me supprime tout !

Cordialement

Bonjour !

Je suis nouveau. Je ne savais pas trop comment expliquer mon problème en titre.

Alors le voici :

J'ai une colonne ID (ici colonne B) et une colonne M prenant pour valeur 0 ou 1.

Je cherche un code VBA me permettant de, si un même ID est présent 2 fois dans ma colonne B, supprimer la ligne de celui qui a 1 dans la colonne M.

Information complémentaire :

Dans mon fichier :

  • Si un ID est en double, il y en a obligatoirement un qui a 1 et l'autre 0 pour la colonne M.
  • Un ID ne peux pas être présent + de 2 fois.

Pensez vous que cela est possible ?

Merci de votre aide !

Recherches récentes

supprimer lignevendredi moistableau croise dynamiqueconsolidationconsolidercopier resultat userformbouton copier userformchamp_recherche xlscode postalfiltrepostalpostauxcahier consignesgestion archivescommentsgeodesiqueeuromillionenvoie mail automatiqueinsertion copier coller lignecopier coller ligne