erreur .besoin de revalider la cellule

  • Initiateur de la discussion Initiateur de la discussion mickey89
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mickey89

XLDnaute Nouveau
Bonjour

j'ai une formule de ce type
Code:
=SI(F90="";"pas de date migration";SI(F90<N90;"VERIF";SI(F90<AUJOURDHUI();"verif";DATEDIF($AJ$1;F90;"d"))))

elle fonctionne parfaitement simplement, sur mes 300 lignes, j'ai de temps en temps pour résultat l'erreur #NOMBRE!

pour corriger, il me suffit de retourner dans la cellule F correspondante et de revalider la date, c'est à dire entrer dans la formule de la cellule et appuyer sur la touche Entrée .(à savoir qu'il n'y a pas d'espace et que le format est le bon).

savez vous d'où cela vient ?
comment revalider toute la colonne en une fois ?

merci d'avance
 
Re : erreur .besoin de revalider la cellule

Bonjour Mickey

C'est lorsque tu importes des données, le format peut être pris comme un texte.

Pour cela tu peux lancer cette macro sur tes cellules en les sélectionnant (simulation de F2 et Entrée).

Code:
Sub F2_
for each cel in selection
sendkeys("{F2}~")
next
end sub
 
Re : erreur .besoin de revalider la cellule

Re

Le souci est que tu ne dit pas si



Après cela dépend du nombre que tu as . Sur XL2007, j'ai testé, c'est ok.

Sinon essaye avec ,true après le sendkeys.

Ou, un petit extrait de ton fichier qui pose problème.

il s'agit bien de données importées.

je te joins un petit morceau de fichier
 

Pièces jointes

Re : erreur .besoin de revalider la cellule

Re

Sinon tu peux essayer ce code:

Code:
Sub Trouve_Date_Texte()
'MJ
   Cells(1, 1).Select
    ActiveCell.SpecialCells(xlLastCell).Select
    Range(Selection, Cells(1)).Select
    ActiveWorkbook.Names.Add Name:="zone2", RefersToR1C1:=Selection
    For Each cel In Range("zone2")
   If Mid(cel.Text, 3, 1) = "/" Then cel.Select: ActiveCell = CDate(cel)
    Next
End Sub

Attention, il peux y avoir des inversions de dates (ex 04/05 qui se transformerai en 05/04). Donc à vérifier ce point.
 
Re : erreur .besoin de revalider la cellule

Re

Sinon tu peux essayer ce code:

Code:
Sub Trouve_Date_Texte()
'MJ
   Cells(1, 1).Select
    ActiveCell.SpecialCells(xlLastCell).Select
    Range(Selection, Cells(1)).Select
    ActiveWorkbook.Names.Add Name:="zone2", RefersToR1C1:=Selection
    For Each cel In Range("zone2")
   If Mid(cel.Text, 3, 1) = "/" Then cel.Select: ActiveCell = CDate(cel)
    Next
End Sub

Attention, il peux y avoir des inversions de dates (ex 04/05 qui se transformerai en 05/04). Donc à vérifier ce point.


merci, ça fonctionne parfaitement (même si je n'ai pas tout compris)
 
Re : erreur .besoin de revalider la cellule

Re

Sinon si tu as des valeurs qui sont au format texte, tu peux tester:

Code:
Sub Transforme_Dates_Et_Valeurs_Texte()
'MJ
Dim cel As Variant
   Cells(1, 1).Select
    ActiveCell.SpecialCells(xlLastCell).Select
    Range(Selection, Cells(1)).Select
    ActiveWorkbook.Names.Add Name:="zone2", RefersToR1C1:=Selection
    For Each cel In Range("zone2")
    If Mid(cel.Text, 3, 1) = "/" Then cel.Select: ActiveCell = CDate(cel)
    If cel <> "" And Mid(cel.Text, 3, 1) <> "/" Then cel.Value = cel.Text ') ' * 1
        Next
End Sub

Sinon, si tu veux garder l'intégrité de tes données en transformant les valeurs avec des chiffres en nombre et garder les formules:
Code:
Sub Transforme_Dates_Et_Valeurs_Texte()
'MJ
'On Error Resume Next
Dim cel As Variant
   Cells(1, 1).Select
    ActiveCell.SpecialCells(xlLastCell).Select
    Range(Selection, Cells(1)).Select
    ActiveWorkbook.Names.Add Name:="zone2", RefersToR1C1:=Selection
For Each cel In Range("zone2")
 If cel = "" Then GoTo suite
    If Left(cel.FormulaLocal, 1) = "=" Then GoTo suite
        If Mid(cel.Text, 3, 1) = "/" Then cel.Select: ActiveCell = CDate(cel): GoTo suite
            If Val(cel.Text) < 1000000000 Then cel.Value = cel.Text: GoTo suite
suite:
Next
End Sub

Reste à rêgler le problème des nombre avec virgule (ou point suivant le paramêtrage des options régionnales) qui peut poser problème.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
519
Réponses
1
Affichages
335
Retour