Supprimer certaines cellules d'une ligne

Fermé
tutur09 Messages postés 25 Date d'inscription vendredi 26 février 2016 Statut Membre Dernière intervention 15 octobre 2020 - 1 avril 2016 à 11:16
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 - 12 avril 2016 à 17:29
Bonjour,

J'ai créé une Macro afin d'ajouter plusieurs lignes à différents endroit mais j'ai besoin de supprimer les deux premières cellules de ces lignes ajoutées.

Voici ma Macro :

Private Sub CommandButton3_Click()
ligne = InputBox("N°Ligne", "Ajouter une Tâche")
For i = 0 To Range("C1").Value - 1 + Range("J2").Value
Rows(ligne + 1).Offset(i * 78).Offset(i).Insert Shift:=x1Down
Next i
For i = Range("C1").Value - 1 + Range("J2").Value To 0 Step -1
Range("A" & ligne + 1, "B" & ligne + 1).Offset(i * 78).Offset(i).Delete Shift:=x1Up
Next i

Merci d'avance pour votre aide
A voir également:

7 réponses

ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
1 avril 2016 à 14:18
Bonjour

Difficile de décripter ta macro.
Peux tu envoyer un bout de ton fichier, sur cjoint.com et joindre le lien obtenu à ton prochain message.
N'oublies pas d'y ajouter des explications et des exemples de résultat attendu

1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
tu fais "Coller".

Cdlmnt
0
tutur09 Messages postés 25 Date d'inscription vendredi 26 février 2016 Statut Membre Dernière intervention 15 octobre 2020
5 avril 2016 à 10:00
Bonjour,

Je vais tenter d'être plus précis. J'ai une macro qui me permet de rajouter des lignes à espacement régulier en masse juste en cliquant sur un bouton.

Private Sub CommandButton3_Click()
ligne = InputBox("N°Ligne", "Ajouter une Tâche") #Je choisis la ligne à rajouter
For i = 0 To 100
Rows(ligne + 1).Offset(i * 78).Insert Shift:=x1Down #J'ajoute les lignes à espacement régulier en fonction de la ligne choisie
Next i

Après cela, j'aimerais supprimer les deux première cellule de chaque ligne rajoutée unsiquement. Je sais que je dois commencer par la fin afin de supprimer des lignes avec une boucle comme cela mais je ne trouve pas mon erreur dans le code suivant :

For i = 100 To 0 Step -1
Range("A" & ligne + 1, "B" & ligne + 1).Offset(i * 78).Delete Shift:=x1Up
Next i

Merci pour votre aide
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
5 avril 2016 à 11:17
Pour effacer ou supprimer les deux premières cellules d'une plage de lignes, tu peux commencer par la première et en descedants

' efface les contenus des deux premières cellules
Public Sub OK1()
Dim li As Long
For li = 3 To 6
Range("A" & li & ":" & "B" & li).ClearContents
Next li
End Sub

' supprime les deux premières cellules et décale vers la gauche les suivantes
Public Sub OK2()
Dim li As Long
For li = 13 To 16
Range("A" & li & ":" & "B" & li).Delete shift:=xlToLeft
Next li
End Sub

Cdlmnt
0
tutur09 Messages postés 25 Date d'inscription vendredi 26 février 2016 Statut Membre Dernière intervention 15 octobre 2020
11 avril 2016 à 08:23
Bonjour,

Merci pour votre aide mais malheureusement cela ne fonctionne pas :/
Auriez vous une autre idée ?

Merci
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
11 avril 2016 à 13:59
Oui !

Peux tu envoyer la partie concernée de ton fichier, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu

1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
tu fais "Coller".


Cdlmnt
0
tutur09 Messages postés 25 Date d'inscription vendredi 26 février 2016 Statut Membre Dernière intervention 15 octobre 2020
11 avril 2016 à 22:04
https://www.cjoint.com/c/FDlucCoKlfA

Voici le lien de mon fichier.

J'aimerais pouvoir supprimer juste les deux premières cellules des lignes que je rajoute et remonter toutes les valeurs du dessous vers le haut.
Je ne vois pas bien ce qui ne fonctionne pas dans mon code.

Merci pour votre aide,

Cordialement,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
12 avril 2016 à 11:02
Je ne vois toujours pas bien ce que tu veux faire, mais pour
- supprimer les deux premières cellules de la ligne li
- les remplacer par les deux cellules situées en dessous
Range("A" & li & ":" & "B" & li).Delete shift:=xlUp

Cdlmnt
0
tutur09 Messages postés 25 Date d'inscription vendredi 26 février 2016 Statut Membre Dernière intervention 15 octobre 2020
12 avril 2016 à 15:07
Bonjour,

Cela ne fonctionne pas. J'avais déjà essayé cette fonction "Range("A" & li & ":" & "B" & li).Delete shift:=xlUp" mais cela me renvoi une erreur.

Il y a un problème avec le Range().Delete. J'arrive à supprimer une ligne entière mais pas uniquement les deux premières cellules...

Merci pour votre aide en tout cas,

Cordialement,
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
12 avril 2016 à 17:29
Il y a un problème avec le Range().Delete. J'arrive à supprimer une ligne entière mais pas uniquement les deux premières cellules... ?
http://www.cjoint.com/c/FDmpCSjaT0q

Cdlmnt
0