Problème de compréhension dans un tableau à 2 dimensions

Bonjour,

Dans le fichier joint d'un tableau à 2 dimensions, je ne comprends la condition :

'Couleur intérieure de la cellule

If Tab2(J, I) = 0 & Chr(150) & 0 Then Cells(L + J, C + I).Interior.Color = RGB(215, 115, 215)

Comment 2 données d'un tableau peuvent être égales à 0, 2, 4, ….

12a-classeur1.xlsm (20.39 Ko)

Bonsoir,

Le tableau a 2 dimensions, les valeurs de ce tableau ont la forme x–y, où "–" est le caractère correspondant au code ASCII n°150

exemple :

tb(0,0) = "0–0"

tb(0,1) = "0–1"

tb(0,2) = "0–2"

Dans l'instruction suivante :

If Tab2(J, I) = 0 & Chr(150) & 0 Then Cells(L + J, C + I).Interior.Color = RGB(215, 115, 215)

-> Tab2(J, I) contient une valeur

> La partie "0 & Chr(150) & 0" compose une chaîne de caractère : "0–0"

J'espère avoir apporté un peu de lumière ...

Bouben

Bonjour bouben

Merci pour les explications

Par contre, je ne sais pas si pour tous les codes ASCII l'affichage des données dans les cellules fonctionne bien.

J'ai remplacé le code pour "-" par celui de "/" et à partir d'un certaine donnée j'ai un affichage en date alors que les cellules sont bien au format "Standard"

Bonjour,

Excel transforme automatiquement certaines cellules en date, lorsque cela ressemble à une date (exemples : 1/1 ou 1-1).

Il n' y a pas moyen de le contourner, dixit le support office.

La conversion en texte proposée déplace le problème sans le résoudre

Bouben

Empêcher la conversion automatique des nombres en dates

Microsoft Excel est préprogramme pour faciliter la saisie de dates. Par exemple, 12/2 passe à 2-Dec. C’est très frustrant lorsque vous entrez une information qui ne doit pas être modifiée en une date. Malheureusement, il n’existe aucun moyen de désactiver cette fonctionnalité. Mais il existe d’autres façons de les utiliser.

Prémettez les cellules dans lesquelles vous voulez entrer des nombres sous forme de texte. Ainsi, Excel ne tente pas de modifier ce que vous entrez dans les dates.

Si vous n’avez que quelques nombres à entrer, vous pouvez empêcher Excel de les convertir en dates en entrant:

Espace avant d’entrer un nombre. L’espace reste dans la cellule lorsque vous appuyez sur entrée. (Voir notes)

Apostrophe (') avant d’entrer un nombre, tel que' 11-53 ou' 1/47. L’apostrophe ne s’affiche pas dans la cellule lorsque vous appuyez sur entrée.

Un zéro et un espace avant d’entrer une fraction telle que 1/2 ou 3/4 de telle sorte qu’elle ne soit pas modifiée en 2-Jan ou 4-Mar, par exemple. Tapez 0 1/2 ou 0 3/4. Le zéro ne reste pas dans la cellule lorsque vous appuyez sur entrée, et la cellule prend la forme d’un nombre de décimales.

https://support.office.com/fr-fr/article/emp%C3%AAcher-la-conversion-automatique-des-nombres-en-dates-452bd2db-cc96-47d1-81e4-72cec11c4ed8

Bonjour @bouben

J'ai fait des tests avec un ' devant J et I dans Tab2(J, I) = J & Chr(150) & I et le problème de format dans les cellules ne pose plus problème.

Par contre, dans VBA j'ai du mal à comprendre l'utilisation de Set et dans votre exemple de News

Bonjour JeanF,

Par contre, dans VBA j'ai du mal à comprendre l'utilisation de Set et dans votre exemple de News

De quel exemple s'agit-il ?

Cordialement

Bouben

Bonjour et merci de la réponse,

C'est un exemple qui devait être dans un autre Post

'instanciation d'une personne Set oPers = New clsPersonne oPers.Nom = "DUPONT" oPers.Departement = 21 oPers.DateNaissance = "01/01/1950" Set tbPers(1) = oPers Set oPers = Nothing

Je mets le fichier ci-dessous et je pense qu'il est de vous

Bonjour,

Pour la lisibilité du forum, il est préférable de traiter chaque sujet indépendamment.

Pour toute question relative à cet autre sujet, merci de poster directement sur le post concerné.

J'essaierai d'y répondre (ou un autre membre).

Bouben

Rechercher des sujets similaires à "probleme comprehension tableau dimensions"