Vba excel macro soustraction de colones
Résolu
rouzb
-
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je cherche a creer une macro qui permette de soustraire 2 colonnes pour mettre le résultat dans une troisieme et par la suite supprimer les lignes dont le resultat de la soustraction est zero. Je ne sais absolument pas quoi faire ni par ou commencer..
Merci d'avance
je cherche a creer une macro qui permette de soustraire 2 colonnes pour mettre le résultat dans une troisieme et par la suite supprimer les lignes dont le resultat de la soustraction est zero. Je ne sais absolument pas quoi faire ni par ou commencer..
Merci d'avance
7 réponses
Excuse-moi j'ai fait une erreur
ne tiens pas compte du code dans le post précédent
je suis désolé
celui là marche
Sub supprime_les_differences_nulle()
Dim Nblig As Integer
Dim C As Variant
Sheets("Feuil2").Select
Nblig = Range("C2").CurrentRegion.Rows.Count
' je suppose que les données commence en C2
'je vais sur la feuille 3
Sheets("Feuil3").Select
For Each C In Range("C2:C" & Nblig)
num_ligne = C.Row ' le numero de la ligne
C.Value = Sheets("feuil1").Cells(num_ligne, 3) - Sheets("feuil2").Cells(num_ligne, 3)
If C.Value = 0 Then
End If
Next
For i = 2 To Nblig
Cells(i, 3).Select
If ActiveCell.Value = 0 Then
ActiveCell.Select
Selection.EntireRow.Delete
i = i - 1
End If
Next
s = MsgBox("Fin du traitement", vbExclamation, "Suppression si difference à 0")
End Sub
ne tiens pas compte du code dans le post précédent
je suis désolé
celui là marche
Sub supprime_les_differences_nulle()
Dim Nblig As Integer
Dim C As Variant
Sheets("Feuil2").Select
Nblig = Range("C2").CurrentRegion.Rows.Count
' je suppose que les données commence en C2
'je vais sur la feuille 3
Sheets("Feuil3").Select
For Each C In Range("C2:C" & Nblig)
num_ligne = C.Row ' le numero de la ligne
C.Value = Sheets("feuil1").Cells(num_ligne, 3) - Sheets("feuil2").Cells(num_ligne, 3)
If C.Value = 0 Then
End If
Next
For i = 2 To Nblig
Cells(i, 3).Select
If ActiveCell.Value = 0 Then
ActiveCell.Select
Selection.EntireRow.Delete
i = i - 1
End If
Next
s = MsgBox("Fin du traitement", vbExclamation, "Suppression si difference à 0")
End Sub
rouzb
oui ca marche merci bcp!
bonjour
Dans la troisième tu mets la formule =A1-B1
puis
if Cells(ligne,"C") = 0 then rows(ligne).delete
Dans la troisième tu mets la formule =A1-B1
puis
if Cells(ligne,"C") = 0 then rows(ligne).delete
Tout d'abord ce n'est pas très clair!
une macro qui permette de soustraire 2 colonnes
est-ce qu'il s'agit de deux cellules ou d'un ensemble de cellules
par exemple soustraire la cellule A8 et A9
et si A8-A9 = 0 alors supprimer A8 et A9
Explique un peu mieux ou bien donne un fichier d'exemple via ci-joint.com
A+
une macro qui permette de soustraire 2 colonnes
est-ce qu'il s'agit de deux cellules ou d'un ensemble de cellules
par exemple soustraire la cellule A8 et A9
et si A8-A9 = 0 alors supprimer A8 et A9
Explique un peu mieux ou bien donne un fichier d'exemple via ci-joint.com
A+
desole, je detaille :
j'ai dans ma feuille un bouton (controle de formulaire). En cliquant dessus, je veux qu'il effectue la soustraction de toutes les cellule de la colonne C de la feuille 1 par les cellules de la colonne C de la feuille 2, et qu'il mette le résultat dans la colonne C de la feuille 3 et que si le réultat est nul, il supprime la ligne entière dans la feuille 3. Par toutes les cellules, j'entends qu'il fasse : Feuil1!C2-'Feuil2'!C2, puis Feuil1!C3-'Feuil2'!C3, etc...
voila j'espere que c'est clair
j'ai dans ma feuille un bouton (controle de formulaire). En cliquant dessus, je veux qu'il effectue la soustraction de toutes les cellule de la colonne C de la feuille 1 par les cellules de la colonne C de la feuille 2, et qu'il mette le résultat dans la colonne C de la feuille 3 et que si le réultat est nul, il supprime la ligne entière dans la feuille 3. Par toutes les cellules, j'entends qu'il fasse : Feuil1!C2-'Feuil2'!C2, puis Feuil1!C3-'Feuil2'!C3, etc...
voila j'espere que c'est clair
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui c'est plus clair!
Encore une question!
si
Feuil1!C2-'Feuil2'!C2=0 on doit supprimer la ligne 2:2 en feuil3
Est-ce vrai en feuille 1 et feuil2 ( je comprends que non, mais je préfère être sur)
Encore une question!
si
Feuil1!C2-'Feuil2'!C2=0 on doit supprimer la ligne 2:2 en feuil3
Est-ce vrai en feuille 1 et feuil2 ( je comprends que non, mais je préfère être sur)
'tu places ce code dans un module
' attention si tu executes 2 fois le code fais attention
que la plage en sortie soit Vide
Sub supprime_les_differences_nulle()
Dim Nblig As Integer
Dim C As Variant
Sheets("Feuil2").Select
Nblig = Range("C2").CurrentRegion.Rows.Count
' je suppose que les données commence en C2
'je vais sur la feuille 3
Sheets("Feuil3").Select
For Each C In Range("C2:C" & Nblig)
num_ligne = C.Row ' le numero de la ligne
C.Value = Sheets("feuil1").Cells(num_ligne, 3) - Sheets("feuil2").Cells(num_ligne, 3)
If C.Value = 0 Then
Selection.EntireRow.Delete
End If
Next
s = MsgBox("Fin du traitement", vbExclamation, "Suppression si difference à 0")
End Sub
A+
N'oublie pas de mettre en résolu si cela te convient.
A+
R
' attention si tu executes 2 fois le code fais attention
que la plage en sortie soit Vide
Sub supprime_les_differences_nulle()
Dim Nblig As Integer
Dim C As Variant
Sheets("Feuil2").Select
Nblig = Range("C2").CurrentRegion.Rows.Count
' je suppose que les données commence en C2
'je vais sur la feuille 3
Sheets("Feuil3").Select
For Each C In Range("C2:C" & Nblig)
num_ligne = C.Row ' le numero de la ligne
C.Value = Sheets("feuil1").Cells(num_ligne, 3) - Sheets("feuil2").Cells(num_ligne, 3)
If C.Value = 0 Then
Selection.EntireRow.Delete
End If
Next
s = MsgBox("Fin du traitement", vbExclamation, "Suppression si difference à 0")
End Sub
A+
N'oublie pas de mettre en résolu si cela te convient.
A+
R