Gérer la catégorie d'un nombre par rapport au contenue d'une cellule

  • Initiateur de la discussion Initiateur de la discussion Napst3r
  • 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 !

Napst3r

XLDnaute Nouveau
Bonjour, j'ai un souci et je ne sais pas si ce que je cherche est réalisable
Je join mon document excel à mon message, vous trouverai dans la colone G une succesion de nombre certain avec des virgule et d'autre nom. Et la colone d'à coté l'unité de longeur de la valeur entré précédement, en fet ce que je voudrai c'est rentré toute les valeurs de mon tableau en millimétre et que selon l'unité que je donne à la colone H, les valeurs en G change de catégorie... Je sais pas ci se que je dis est clair mais peut être quand voyant dirrectement le probléme, qqu pourrai me donner une solution.
Merci d'avance...
 

Pièces jointes

Re : Gérer la catégorie d'un nombre par rapport au contenue d'une cellule

Salut Napst3r,

Je ne sais pas si j'ai bien compris, essaye ce code 😉

Code:
Sub Convertion()
  Dim Derlig As Long, Lig As Long
  ' Convertir le format de la colonne G en nombre avec 3 chiffres derrière la virgule
  Columns("G:G").NumberFormat = "#,##0.000"
  ' Trouver la dernière ligne du tableau
  Derlig = Range("A" & Rows.Count).End(xlUp).Row
  ' Pour chaque ligne
  For Lig = 2 To Derlig
    ' Si l'unité est le mêtre
    If Range("H" & Lig).Value = "M" Then
      ' On divise la vrai valeur par 1000
      Range("G" & Lig).Value = Range("G" & Lig).Value / 1000
    End If
  Next Lig
End Sub

A+
 
Re : Gérer la catégorie d'un nombre par rapport au contenue d'une cellule

Bonjour,

Pas tres bien compris mais ci-joint un exemple de ponderation des données en focntion de l'unité.
Je suis parti du pricncipe que PCE = Pouce
 

Pièces jointes

Dernière édition:
Re : Gérer la catégorie d'un nombre par rapport au contenue d'une cellule

Dsl Catrice, mais PCE c'est bien pièce, c'est la seule chose du tableau qui n'est pas une unité de longeur, excuz de ne pas avoir précisé sa.
En tout cas ton idées à l'air de tenir la route, je vais éssayer de m'en inspirer pour le reste, le seul soucis c'est que je ne suis pas un grand manipulateur de excel, et ce que tu m'a donner BrunoM45 je ne sais pas du tout comment incorporé sa sur excel, mais merci quand même
 
Re : Gérer la catégorie d'un nombre par rapport au contenue d'une cellule

Ah ouai mais je viens de penssé à une chose, jveux que tout se fasse dans ces deux colonne (G et H), ya moyen de remplacer le resultat de la colonne G, par se qui est en I
 
Re : Gérer la catégorie d'un nombre par rapport au contenue d'une cellule

Re,

Il faut mettre le code dans un module, pour cela :

1) appuies sur les touches ALT+F11 (éditeur VBA)
Tu dois avoir sur la partie gauche :
a) Projet - VBAProject (sinon CTRL+R)
b) Propriétés (sinon F4)

2) Dans la fenêtre projet, tu fais un clique droit sur l'intitulé de "Feuil1"
dans le menu contextuel, tu sélectionnes : Insérer Module

3) double clique sur : Module1

4) tu colles dedans le code

5) tu fermes l'éditeur VBA

6) Menu -> Outils -> Macro -> Macro
tu sélectionnes : Convertion
et ok, le code s'éxécute

A+
 
Re : Gérer la catégorie d'un nombre par rapport au contenue d'une cellule

Ah ouai mais je viens de penssé à une chose, jveux que tout se fasse dans ces deux colonne (G et H), ya moyen de remplacer le resultat de la colonne G, par se qui est en I

Oui, biensur

Code:
' On divise la vrai valeur par 1000
      Range("G" & Lig).Value = Range("[B][COLOR=blue]I[/COLOR][/B]" & Lig).Value / 1000

Voili, voilà 😉
 
Re : Gérer la catégorie d'un nombre par rapport au contenue d'une cellule

Slt BrunoM45, ton code c'est nickel c'est exactement ce que je voulais, mais tu pourrai me dire comment faire pour que ca reste actif tt le temps, en fait quand j'éxécute la macro, la conversion des nombre se fait comme je voulait, mais si je retape un nombre à la place d'un existant il faut que je resecute la conversion pour que le chiffre change, j'aurai voulu que tout se fasse automatiquement, saurai tu comment faire stp.

Merci d'avance, Napst3r...
 
Re : Gérer la catégorie d'un nombre par rapport au contenue d'une cellule

Salut Napst3r,

Alors dans ce cas là, tu supprimes le code que je t'ai donné précédemment et tu mets dans "Feuil1" ce code ci :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Lig As Long
  If Not Intersect(Target, Range("G:G")) Is Nothing Then
    Lig = Target.Row
    ' Convertir le format de la colonne G en nombre avec 3 chiffres derrière la virgule
    Range("G" & Lig).NumberFormat = "#,##0.000"
    ' Si l'unité est le mêtre
    If Range("H" & Lig).Value = "M" Then
      ' Désactiver les évènements
      Application.EnableEvents = False
      ' On divise la vrai valeur par 1000
      Range("G" & Lig).Value = Range("G" & Lig).Value / 1000
      ' Activer les évènements
      Application.EnableEvents = True
    End If
  End If
End Sub

Voir fichier joint 😉

A+
 

Pièces jointes

- 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
Retour