Vba excel macro soustraction de colones
Résolu/Fermé
rouzb
-
13 janv. 2009 à 09:53
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 13 janv. 2009 à 14:44
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 13 janv. 2009 à 14:44
A voir également:
- Soustraction vba
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
7 réponses
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
13 janv. 2009 à 12:44
13 janv. 2009 à 12:44
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
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
13 janv. 2009 à 14:44
13 janv. 2009 à 14:44
Si cela te convient tu coches résolu
merci
merci
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 707
13 janv. 2009 à 10:35
13 janv. 2009 à 10:35
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
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
13 janv. 2009 à 10:36
13 janv. 2009 à 10:36
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
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
13 janv. 2009 à 11:17
13 janv. 2009 à 11:17
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)
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
13 janv. 2009 à 11:31
13 janv. 2009 à 11:31
C'est en cours ..... je finis
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
13 janv. 2009 à 11:48
13 janv. 2009 à 11:48
'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
13 janv. 2009 à 14:34