Je cherche à selectionner un champ (ex : A1:B3) pour le supprimer.
Je pensais passer par la définition d'un champ (Range.Select) puis par une
suppression de la selection (Selection.Delete). Cependant, je n'arrive pas à
donner à Range.Select sa valeur en fonction des paramètres suivants : " i "
et " j ".
Soit " i " le n° de Ligne.
Soit " j " le n° de colomne.
Les deux valeur sont incrementés de 1 à chaque Next :
For j = 1 To ActiveSheet.UsedRange.Columns.Count
For i = 1 To ActiveSheet.UsedRange.Rows.Count
La fonction test la valeur (= 0) des cellules et si elle est fausse je
demande la supression d'un champ de cellules. Dès lors, je pensais utiliser
les valeur " i " et " j " pour obtenir le champ.
Ce champ étant : (j, i - 3):(j, i + 1) sur le même modèle (avec i=5 et j=3)
: C2:C6.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ThierryP
Bonjour Vader,
Tel que tu l'écris, tu mixes des types de référence Peut-être quelque chose comme Range(ActiveCell.Offset(j, i-3).Address, ActiveCell.Offset(j,i+1).Address).Select
devrait le faire
@+ thierryp
Bonjour,
Je cherche à selectionner un champ (ex : A1:B3) pour le supprimer.
Je pensais passer par la définition d'un champ (Range.Select) puis par une suppression de la selection (Selection.Delete). Cependant, je n'arrive pas à donner à Range.Select sa valeur en fonction des paramètres suivants : " i " et " j ".
Soit " i " le n° de Ligne. Soit " j " le n° de colomne.
Les deux valeur sont incrementés de 1 à chaque Next :
For j = 1 To ActiveSheet.UsedRange.Columns.Count For i = 1 To ActiveSheet.UsedRange.Rows.Count
La fonction test la valeur (= 0) des cellules et si elle est fausse je demande la supression d'un champ de cellules. Dès lors, je pensais utiliser les valeur " i " et " j " pour obtenir le champ.
Ce champ étant : (j, i - 3):(j, i + 1) sur le même modèle (avec i=5 et j=3) : C2:C6.
Mais je n'arrive pas à définir Range.Select ...
Merci d'avance,
Antoine
-- @+ thierryp
Bonjour Vader,
Tel que tu l'écris, tu mixes des types de référence
Peut-être quelque chose comme
Range(ActiveCell.Offset(j, i-3).Address,
ActiveCell.Offset(j,i+1).Address).Select
devrait le faire
@+ thierryp
Bonjour,
Je cherche à selectionner un champ (ex : A1:B3) pour le supprimer.
Je pensais passer par la définition d'un champ (Range.Select) puis par une
suppression de la selection (Selection.Delete). Cependant, je n'arrive pas à
donner à Range.Select sa valeur en fonction des paramètres suivants : " i "
et " j ".
Soit " i " le n° de Ligne.
Soit " j " le n° de colomne.
Les deux valeur sont incrementés de 1 à chaque Next :
For j = 1 To ActiveSheet.UsedRange.Columns.Count
For i = 1 To ActiveSheet.UsedRange.Rows.Count
La fonction test la valeur (= 0) des cellules et si elle est fausse je
demande la supression d'un champ de cellules. Dès lors, je pensais utiliser
les valeur " i " et " j " pour obtenir le champ.
Ce champ étant : (j, i - 3):(j, i + 1) sur le même modèle (avec i=5 et j=3)
: C2:C6.
Tel que tu l'écris, tu mixes des types de référence Peut-être quelque chose comme Range(ActiveCell.Offset(j, i-3).Address, ActiveCell.Offset(j,i+1).Address).Select
devrait le faire
@+ thierryp
Bonjour,
Je cherche à selectionner un champ (ex : A1:B3) pour le supprimer.
Je pensais passer par la définition d'un champ (Range.Select) puis par une suppression de la selection (Selection.Delete). Cependant, je n'arrive pas à donner à Range.Select sa valeur en fonction des paramètres suivants : " i " et " j ".
Soit " i " le n° de Ligne. Soit " j " le n° de colomne.
Les deux valeur sont incrementés de 1 à chaque Next :
For j = 1 To ActiveSheet.UsedRange.Columns.Count For i = 1 To ActiveSheet.UsedRange.Rows.Count
La fonction test la valeur (= 0) des cellules et si elle est fausse je demande la supression d'un champ de cellules. Dès lors, je pensais utiliser les valeur " i " et " j " pour obtenir le champ.
Ce champ étant : (j, i - 3):(j, i + 1) sur le même modèle (avec i=5 et j=3) : C2:C6.
Mais je n'arrive pas à définir Range.Select ...
Merci d'avance,
Antoine
-- @+ thierryp
michdenis
Bonjour Vader,
As-tu essayé quelque chose dans le genre :
'--------------------------------------- Sub Effacer()
For A = 1 To Rg.Rows.Count For B = 1 To Rg.Columns.Count If Rg(A, B) = 0 Then Rg(A, B).Clear End If Next Next Application.EnableEvents = True Set Rg = Nothing End Sub '---------------------------------------
Salutations!
"Vader" a écrit dans le message de news: Bonjour,
Je cherche à selectionner un champ (ex : A1:B3) pour le supprimer.
Je pensais passer par la définition d'un champ (Range.Select) puis par une suppression de la selection (Selection.Delete). Cependant, je n'arrive pas à donner à Range.Select sa valeur en fonction des paramètres suivants : " i " et " j ".
Soit " i " le n° de Ligne. Soit " j " le n° de colomne.
Les deux valeur sont incrementés de 1 à chaque Next :
For j = 1 To ActiveSheet.UsedRange.Columns.Count For i = 1 To ActiveSheet.UsedRange.Rows.Count
La fonction test la valeur (= 0) des cellules et si elle est fausse je demande la supression d'un champ de cellules. Dès lors, je pensais utiliser les valeur " i " et " j " pour obtenir le champ.
Ce champ étant : (j, i - 3):(j, i + 1) sur le même modèle (avec i=5 et j=3) : C2:C6.
Mais je n'arrive pas à définir Range.Select ...
Merci d'avance,
Antoine
Bonjour Vader,
As-tu essayé quelque chose dans le genre :
'---------------------------------------
Sub Effacer()
For A = 1 To Rg.Rows.Count
For B = 1 To Rg.Columns.Count
If Rg(A, B) = 0 Then
Rg(A, B).Clear
End If
Next
Next
Application.EnableEvents = True
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"Vader" <Vader@discussions.microsoft.com> a écrit dans le message de news: B52C798C-5BEA-45AD-9CAA-053169DE6466@microsoft.com...
Bonjour,
Je cherche à selectionner un champ (ex : A1:B3) pour le supprimer.
Je pensais passer par la définition d'un champ (Range.Select) puis par une
suppression de la selection (Selection.Delete). Cependant, je n'arrive pas à
donner à Range.Select sa valeur en fonction des paramètres suivants : " i "
et " j ".
Soit " i " le n° de Ligne.
Soit " j " le n° de colomne.
Les deux valeur sont incrementés de 1 à chaque Next :
For j = 1 To ActiveSheet.UsedRange.Columns.Count
For i = 1 To ActiveSheet.UsedRange.Rows.Count
La fonction test la valeur (= 0) des cellules et si elle est fausse je
demande la supression d'un champ de cellules. Dès lors, je pensais utiliser
les valeur " i " et " j " pour obtenir le champ.
Ce champ étant : (j, i - 3):(j, i + 1) sur le même modèle (avec i=5 et j=3)
: C2:C6.
For A = 1 To Rg.Rows.Count For B = 1 To Rg.Columns.Count If Rg(A, B) = 0 Then Rg(A, B).Clear End If Next Next Application.EnableEvents = True Set Rg = Nothing End Sub '---------------------------------------
Salutations!
"Vader" a écrit dans le message de news: Bonjour,
Je cherche à selectionner un champ (ex : A1:B3) pour le supprimer.
Je pensais passer par la définition d'un champ (Range.Select) puis par une suppression de la selection (Selection.Delete). Cependant, je n'arrive pas à donner à Range.Select sa valeur en fonction des paramètres suivants : " i " et " j ".
Soit " i " le n° de Ligne. Soit " j " le n° de colomne.
Les deux valeur sont incrementés de 1 à chaque Next :
For j = 1 To ActiveSheet.UsedRange.Columns.Count For i = 1 To ActiveSheet.UsedRange.Rows.Count
La fonction test la valeur (= 0) des cellules et si elle est fausse je demande la supression d'un champ de cellules. Dès lors, je pensais utiliser les valeur " i " et " j " pour obtenir le champ.
Ce champ étant : (j, i - 3):(j, i + 1) sur le même modèle (avec i=5 et j=3) : C2:C6.