Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Selection de valeurs dans un tableau

6 réponses
Avatar
Fredo \(67\)
Bonjour,
Encore une t'tite chose, mais qui me bloque :

J'ai un tableau avec des colonnes, chaque colonne contient des valeurs
(constantes) et des formules (sommes de certaines valeurs)

je voudrais faire la chose suivante :
Chaque mois, mettre aisément à Zéro toutes les valeurs (constantes).
Sachant que les zones ne sont pas contigues, et qu'elles sont trops
nombreuses pour leur affecter un seul nom,
j'ai fait la chose suivante :

Je demande à Excel de n'effacer que les valeurs dans chacune des colone :
*-*-*-*
Sub remie_a_zero()
Range("E4:E231").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Range("h4:h231").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
(...)
end sub
*-*-*-*

(vous remarquerez que les colonnes ne sont pas contigues non plus.

Mais si Excel se trouve face à une sélection qui ne contient aucune valeur,
la macro s'arrete (car message d'erreur)

j'ai alors pensé à ajouter un ON ERROR RESUME NEXT

mais alors là Excel ne tien plus du tout compte des critéres de sélection,
et me supprime tout le contenu de la colonne.

j'ai essayé de faire un
SI (.....) alors

mais je me heurte à un blocage.

(désolé pour ce roman, mais j'ai pas réussi à faire clair, en considérant
que ceci soit clair; et concis)
Merci

6 réponses

Avatar
Jacky
Bonjour Fredo

Et avec:
'---------
Range("E4:E231").ClearContents
'---------
Salutations
JJ

"Fredo (67)" a écrit dans le message de
news:
Bonjour,
Encore une t'tite chose, mais qui me bloque :

J'ai un tableau avec des colonnes, chaque colonne contient des valeurs
(constantes) et des formules (sommes de certaines valeurs)

je voudrais faire la chose suivante :
Chaque mois, mettre aisément à Zéro toutes les valeurs (constantes).
Sachant que les zones ne sont pas contigues, et qu'elles sont trops
nombreuses pour leur affecter un seul nom,
j'ai fait la chose suivante :

Je demande à Excel de n'effacer que les valeurs dans chacune des colone
:

*-*-*-*
Sub remie_a_zero()
Range("E4:E231").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Range("h4:h231").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
(...)
end sub
*-*-*-*

(vous remarquerez que les colonnes ne sont pas contigues non plus.

Mais si Excel se trouve face à une sélection qui ne contient aucune
valeur,

la macro s'arrete (car message d'erreur)

j'ai alors pensé à ajouter un ON ERROR RESUME NEXT

mais alors là Excel ne tien plus du tout compte des critéres de
sélection,

et me supprime tout le contenu de la colonne.

j'ai essayé de faire un
SI (.....) alors

mais je me heurte à un blocage.

(désolé pour ce roman, mais j'ai pas réussi à faire clair, en
considérant

que ceci soit clair; et concis)
Merci




Avatar
anonymousA
bonjour,

On Error Resume Next
Range("E4:E231").SpecialCells(xlCellTypeConstants).ClearContents
Range("H4:H231").SpecialCells(xlCellTypeConstants).ClearContents

devrait suffire compte tenu de ton SpecialCells(xlCellTypeConstants,23) qui
veut en fait dire que toutes les natures des cellules de type constantes sont
selectionnables

Ai essayé aussi sur une feuille vierge et bien sur ne pose aucun problème
(grace à on error)

A+


Bonjour,
Encore une t'tite chose, mais qui me bloque :

J'ai un tableau avec des colonnes, chaque colonne contient des valeurs
(constantes) et des formules (sommes de certaines valeurs)

je voudrais faire la chose suivante :
Chaque mois, mettre aisément à Zéro toutes les valeurs (constantes).
Sachant que les zones ne sont pas contigues, et qu'elles sont trops
nombreuses pour leur affecter un seul nom,
j'ai fait la chose suivante :

Je demande à Excel de n'effacer que les valeurs dans chacune des colone :
*-*-*-*
Sub remie_a_zero()
Range("E4:E231").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Range("h4:h231").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
(...)
end sub
*-*-*-*

(vous remarquerez que les colonnes ne sont pas contigues non plus.

Mais si Excel se trouve face à une sélection qui ne contient aucune valeur,
la macro s'arrete (car message d'erreur)

j'ai alors pensé à ajouter un ON ERROR RESUME NEXT

mais alors là Excel ne tien plus du tout compte des critéres de sélection,
et me supprime tout le contenu de la colonne.

j'ai essayé de faire un
SI (.....) alors

mais je me heurte à un blocage.

(désolé pour ce roman, mais j'ai pas réussi à faire clair, en considérant
que ceci soit clair; et concis)
Merci





Avatar
Fredo \(67\)
Hé hé,
j'ai testé, mais :

Le tableau contient 6 colonnes à traiter,
ces colonnes contiennent aussi des formules
il peut y avoir des colonnes n'ayant aucune valeur (constantes)
c'est le pourquoi du On error resume...

mais à l'apparition de l'erreur, excel ne prend plus en compte les critére
de selection.... et donc efface tout.

"anonymousA" a écrit dans le message
de news:
bonjour,

On Error Resume Next
Range("E4:E231").SpecialCells(xlCellTypeConstants).ClearContents
Range("H4:H231").SpecialCells(xlCellTypeConstants).ClearContents

devrait suffire compte tenu de ton SpecialCells(xlCellTypeConstants,23)
qui

veut en fait dire que toutes les natures des cellules de type constantes
sont

selectionnables

Ai essayé aussi sur une feuille vierge et bien sur ne pose aucun problème
(grace à on error)

A+


Bonjour,
Encore une t'tite chose, mais qui me bloque :

J'ai un tableau avec des colonnes, chaque colonne contient des valeurs
(constantes) et des formules (sommes de certaines valeurs)

je voudrais faire la chose suivante :
Chaque mois, mettre aisément à Zéro toutes les valeurs (constantes).
Sachant que les zones ne sont pas contigues, et qu'elles sont trops
nombreuses pour leur affecter un seul nom,
j'ai fait la chose suivante :

Je demande à Excel de n'effacer que les valeurs dans chacune des colone
:


*-*-*-*
Sub remie_a_zero()
Range("E4:E231").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Range("h4:h231").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
(...)
end sub
*-*-*-*

(vous remarquerez que les colonnes ne sont pas contigues non plus.

Mais si Excel se trouve face à une sélection qui ne contient aucune
valeur,


la macro s'arrete (car message d'erreur)

j'ai alors pensé à ajouter un ON ERROR RESUME NEXT

mais alors là Excel ne tien plus du tout compte des critéres de
sélection,


et me supprime tout le contenu de la colonne.

j'ai essayé de faire un
SI (.....) alors

mais je me heurte à un blocage.

(désolé pour ce roman, mais j'ai pas réussi à faire clair, en
considérant


que ceci soit clair; et concis)
Merci







Avatar
Fredo \(67\)
Ca ne suffit pas
parceque certaines cellules contiennent des formules (que je veux garder
bien sur)

"Jacky" a écrit dans le message de
news:

Bonjour Fredo

Et avec:
'---------
Range("E4:E231").ClearContents
'---------
Salutations
JJ

"Fredo (67)" a écrit dans le message de
news:
Bonjour,
Encore une t'tite chose, mais qui me bloque :

J'ai un tableau avec des colonnes, chaque colonne contient des valeurs
(constantes) et des formules (sommes de certaines valeurs)

je voudrais faire la chose suivante :
Chaque mois, mettre aisément à Zéro toutes les valeurs (constantes).
Sachant que les zones ne sont pas contigues, et qu'elles sont trops
nombreuses pour leur affecter un seul nom,
j'ai fait la chose suivante :

Je demande à Excel de n'effacer que les valeurs dans chacune des
colone


:
*-*-*-*
Sub remie_a_zero()
Range("E4:E231").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Range("h4:h231").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
(...)
end sub
*-*-*-*

(vous remarquerez que les colonnes ne sont pas contigues non plus.

Mais si Excel se trouve face à une sélection qui ne contient aucune
valeur,

la macro s'arrete (car message d'erreur)

j'ai alors pensé à ajouter un ON ERROR RESUME NEXT

mais alors là Excel ne tien plus du tout compte des critéres de
sélection,

et me supprime tout le contenu de la colonne.

j'ai essayé de faire un
SI (.....) alors

mais je me heurte à un blocage.

(désolé pour ce roman, mais j'ai pas réussi à faire clair, en
considérant

que ceci soit clair; et concis)
Merci








Avatar
Alain CROS
Bonjour.

Sub Efface(Plg As Range)
Dim Rg As Range
On Error Resume Next
Set Rg = Plg.SpecialCells(xlCellTypeConstants)
On Error GoTo 0
If Not Rg Is Nothing Then Rg.ClearContents
Set Rg = Nothing
End Sub

Sub RAZ()
Efface Range("E4:E231")
Efface Range("h4:h231")
End Sub

Alain CROS

"Fredo (67)" a écrit dans le message de news:
| Bonjour,
| Encore une t'tite chose, mais qui me bloque :
|
| J'ai un tableau avec des colonnes, chaque colonne contient des valeurs
| (constantes) et des formules (sommes de certaines valeurs)
|
| je voudrais faire la chose suivante :
| Chaque mois, mettre aisément à Zéro toutes les valeurs (constantes).
| Sachant que les zones ne sont pas contigues, et qu'elles sont trops
| nombreuses pour leur affecter un seul nom,
| j'ai fait la chose suivante :
|
| Je demande à Excel de n'effacer que les valeurs dans chacune des colone :
| *-*-*-*
| Sub remie_a_zero()
| Range("E4:E231").Select
| Selection.SpecialCells(xlCellTypeConstants, 23).Select
| Selection.ClearContents
| Range("h4:h231").Select
| Selection.SpecialCells(xlCellTypeConstants, 23).Select
| Selection.ClearContents
| (...)
| end sub
| *-*-*-*
|
| (vous remarquerez que les colonnes ne sont pas contigues non plus.
|
| Mais si Excel se trouve face à une sélection qui ne contient aucune valeur,
| la macro s'arrete (car message d'erreur)
|
| j'ai alors pensé à ajouter un ON ERROR RESUME NEXT
|
| mais alors là Excel ne tien plus du tout compte des critéres de sélection,
| et me supprime tout le contenu de la colonne.
|
| j'ai essayé de faire un
| SI (.....) alors
|
| mais je me heurte à un blocage.
|
| (désolé pour ce roman, mais j'ai pas réussi à faire clair, en considérant
| que ceci soit clair; et concis)
| Merci
|
|
Avatar
Fredo \(67\)
Magnifique,

LA réponse !


"Alain CROS" a écrit dans le message de
news:e$
Bonjour.

Sub Efface(Plg As Range)
Dim Rg As Range
On Error Resume Next
Set Rg = Plg.SpecialCells(xlCellTypeConstants)
On Error GoTo 0
If Not Rg Is Nothing Then Rg.ClearContents
Set Rg = Nothing
End Sub

Sub RAZ()
Efface Range("E4:E231")
Efface Range("h4:h231")
End Sub

Alain CROS

"Fredo (67)" a écrit dans le message de news:


| Bonjour,
| Encore une t'tite chose, mais qui me bloque :
|
| J'ai un tableau avec des colonnes, chaque colonne contient des valeurs
| (constantes) et des formules (sommes de certaines valeurs)
|
| je voudrais faire la chose suivante :
| Chaque mois, mettre aisément à Zéro toutes les valeurs (constantes).
| Sachant que les zones ne sont pas contigues, et qu'elles sont trops
| nombreuses pour leur affecter un seul nom,
| j'ai fait la chose suivante :
|
| Je demande à Excel de n'effacer que les valeurs dans chacune des colone
:

| *-*-*-*
| Sub remie_a_zero()
| Range("E4:E231").Select
| Selection.SpecialCells(xlCellTypeConstants, 23).Select
| Selection.ClearContents
| Range("h4:h231").Select
| Selection.SpecialCells(xlCellTypeConstants, 23).Select
| Selection.ClearContents
| (...)
| end sub
| *-*-*-*
|
| (vous remarquerez que les colonnes ne sont pas contigues non plus.
|
| Mais si Excel se trouve face à une sélection qui ne contient aucune
valeur,

| la macro s'arrete (car message d'erreur)
|
| j'ai alors pensé à ajouter un ON ERROR RESUME NEXT
|
| mais alors là Excel ne tien plus du tout compte des critéres de
sélection,

| et me supprime tout le contenu de la colonne.
|
| j'ai essayé de faire un
| SI (.....) alors
|
| mais je me heurte à un blocage.
|
| (désolé pour ce roman, mais j'ai pas réussi à faire clair, en
considérant

| que ceci soit clair; et concis)
| Merci
|
|