selectionner toutes les cellules avec chiffres en dur

copayo

XLDnaute Occasionnel
Bonjour a tous,


Dans une feuille Excel, j'ai plusieurs types de cellules (Voir PJ):

1/ Cellules avec uniquement 1 chiffre en dur
2/ Cellules faisant une opération avec plusieurs chiffres en dur
3/ Cellules faisant des opérations avec plusieurs cellules
4 / Cellules faisant des opérations avec plusieurs cellules et un chiffre en dur

Donc les cas 1, 2 et 4 utilisent des chiffres en dur.

J’utilise la fonction « atteindre/constantes/nombre qui me permet de sélectionner le cas 1.

Si j’utilise la fonction atteindre/formule/nombre, je sélectionne les cas 2, 3 et 4

Mon besoin c’est d’atteindre les cas 1,2 et 4 uniquement.

Comment repérer toutes les cellules contenant un chiffre en dur dans la feuille Excel?

Merci par avance de votre participation.
 

Pièces jointes

  • atteindre.xls
    13.5 KB · Affichages: 83
  • atteindre.xls
    13.5 KB · Affichages: 72
  • atteindre.xls
    13.5 KB · Affichages: 79
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : selectionner toutes les cellules avec chiffres en dur

Bonjour

Une piste à suivre

Code:
'SOURCE:http://www.ozgrid.com/VBA/special-cells.htm
Sub AllNummericCells()
Dim rCcells As Range, rFcells As Range
Dim rAcells As Range

    'Set variable to all used cells
    Set rAcells = ActiveSheet.UsedRange

    On Error Resume Next 'In case of no numeric formula or constants.

    'Set variable to all numeric constants
    Set rCcells = rAcells.SpecialCells(xlCellTypeConstants, xlNumbers)
    'Set variable to all numeric formulas
    Set rFcells = rAcells.SpecialCells(xlCellTypeFormulas, xlNumbers)

    'Determine which type of numeric data (formulas, constants or none)
    If rCcells Is Nothing And rFcells Is Nothing Then
       MsgBox "You Worksheet contains no numbers"
       End
    ElseIf rCcells Is Nothing Then
       Set rAcells = rFcells 'formulas
    ElseIf rFcells Is Nothing Then
       Set rAcells = rCcells 'constants
    Else
       Set rAcells = Application.Union(rFcells, rCcells) 'Both
    End If
    On Error GoTo 0

    rAcells.Select
End Sub
 
Dernière édition:

copayo

XLDnaute Occasionnel
Re : selectionner toutes les cellules avec chiffres en dur

merci staple,

ta macro combine les 2 fonctions atteindre que j'avais décrit mais elle selectionne de fait le cas 3 de mon fichier.

Le cas 3 c'est B12 + D12 et Pour moi c'est pas un chiffre en dur et je ne veux pas selectionner ce type de cellule

si vous avez d'autres idées

merci par avance
 

myDearFriend!

XLDnaute Barbatruc
Re : selectionner toutes les cellules avec chiffres en dur

Bonsoir copayo, Staple1600, le Forum,

Si j'ai bien compris le problème, ci-dessous une procédure pour les cas 1 et 2 uniquement :
Code:
[SIZE=2][COLOR=NAVY]Sub[/COLOR] test()
[COLOR=GREEN]'myDearFriend! - www.mdf-xlpages.com[/COLOR]
[COLOR=NAVY]Dim[/COLOR] Cible [COLOR=NAVY]As[/COLOR] Range, Cel [COLOR=NAVY]As[/COLOR] Range
[COLOR=NAVY]Dim[/COLOR] N [COLOR=NAVY]As Byte
    On Error Resume Next
    Set[/COLOR] Cible = ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 1)
    [COLOR=NAVY]On Error GoTo[/COLOR] 0
    [COLOR=NAVY]For Each[/COLOR] Cel [COLOR=NAVY]In[/COLOR] ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 1)
        N = 0
        [COLOR=NAVY]On Error Resume Next[/COLOR]
        N = Cel.Precedents.Count
        [COLOR=NAVY]On Error GoTo[/COLOR] 0
        [COLOR=NAVY]If[/COLOR] N = 0 [COLOR=NAVY]Then
            If[/COLOR] Cible [COLOR=NAVY]Is Nothing Then
                Set[/COLOR] Cible = Cel
            [COLOR=NAVY]Else
                Set[/COLOR] Cible = Union(Cible, Cel)
            [COLOR=NAVY]End If
        End If
    Next[/COLOR] Cel
    [COLOR=NAVY]If Not[/COLOR] Cible [COLOR=NAVY]Is Nothing Then[/COLOR] Cible.[COLOR=NAVY]Select
End Sub[/COLOR][/SIZE]
Pour le cas numéro 4, cela nécessiterait une analyse de chaque formule pour tenter de repérer les constantes numériques au milieu des références de cellules, opérateurs et autres parenthèses, etc... J'ai bien peur que tu t'approche dangereusement de l'usine à gaz sur ces cas là...

Cordialement,
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 086
Messages
2 085 197
Membres
102 814
dernier inscrit
JLGalley