Modifier une cellule active
Résolu/Fermé
rescue
Messages postés
1039
Date d'inscription
vendredi 16 novembre 2007
Statut
Contributeur
Dernière intervention
27 mars 2019
-
18 janv. 2012 à 20:40
rescue Messages postés 1039 Date d'inscription vendredi 16 novembre 2007 Statut Contributeur Dernière intervention 27 mars 2019 - 21 janv. 2012 à 22:49
rescue Messages postés 1039 Date d'inscription vendredi 16 novembre 2007 Statut Contributeur Dernière intervention 27 mars 2019 - 21 janv. 2012 à 22:49
A voir également:
- Modifier une cellule active
- Modifier liste déroulante excel - Guide
- Comment modifier un pdf - Guide
- Aller à la ligne dans une cellule excel - Guide
- Modifier dns - Guide
- Modifier une story facebook - Guide
6 réponses
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
18 janv. 2012 à 22:17
18 janv. 2012 à 22:17
bonsoir
c'est possible, un exemple
https://www.cjoint.com/?0AswpHDObwT
bonne suite
c'est possible, un exemple
https://www.cjoint.com/?0AswpHDObwT
bonne suite
rescue
Messages postés
1039
Date d'inscription
vendredi 16 novembre 2007
Statut
Contributeur
Dernière intervention
27 mars 2019
136
19 janv. 2012 à 07:59
19 janv. 2012 à 07:59
Bonjour,
Merci c'est un bon début.
Il me reste à faire le calcul de la clef avec la formule de luhn et une boucle qui parcours chaque cellules ayant uniquement des numéros à 8 chiffres.
@+
Merci c'est un bon début.
Il me reste à faire le calcul de la clef avec la formule de luhn et une boucle qui parcours chaque cellules ayant uniquement des numéros à 8 chiffres.
@+
rescue
Messages postés
1039
Date d'inscription
vendredi 16 novembre 2007
Statut
Contributeur
Dernière intervention
27 mars 2019
136
20 janv. 2012 à 22:26
20 janv. 2012 à 22:26
Bonsoir,
Je cherche désespérément une fonction vba pour trouver le moyen de séparer chaque chiffre dans la cellule et de multiplier par 1 et par 2 ainsi de suite.
Par exemple une cellule contenant : 12345678
1 * 1
2 * 2
3 * 1
4 * 2
5 * 1
6 * 2
7 * 1
8 * 2
Apparemment il y aurait left() ou right() mais je ne vois pas comment les utiliser.
je me retrouve avec des erreurs de compilation etc... c'est le brin quoi !
Avez-vous une idée ?
Merci.
Je cherche désespérément une fonction vba pour trouver le moyen de séparer chaque chiffre dans la cellule et de multiplier par 1 et par 2 ainsi de suite.
Par exemple une cellule contenant : 12345678
1 * 1
2 * 2
3 * 1
4 * 2
5 * 1
6 * 2
7 * 1
8 * 2
Apparemment il y aurait left() ou right() mais je ne vois pas comment les utiliser.
je me retrouve avec des erreurs de compilation etc... c'est le brin quoi !
Avez-vous une idée ?
Merci.
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
21 janv. 2012 à 13:30
21 janv. 2012 à 13:30
re
un exemple
https://www.cjoint.com/?0AvnDyLkfnv
après c'est à toi de voir ce que tu veux en faire
bonne suite
un exemple
https://www.cjoint.com/?0AvnDyLkfnv
après c'est à toi de voir ce que tu veux en faire
bonne suite
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
rescue
Messages postés
1039
Date d'inscription
vendredi 16 novembre 2007
Statut
Contributeur
Dernière intervention
27 mars 2019
136
21 janv. 2012 à 17:53
21 janv. 2012 à 17:53
Bonsoir,
Merci encore pour cet exemple je vais voir ce que je peux en tirer.
En faite je suis très mauvais en VBA.
Ce n'est pas ma tasse de thé mais c'est pour rendre service à un collègue qui galère à chaque fois à ajouter manuellement la clef des numéros d'identifiants des praticiens dans son fichier Excel.
J'ai codé en PHP une fonction qui permet de faire ce même calcul. Mais ensuite il doit faire copier coller à chaque fois dans sa feuille xls lol !
Donc là Il commence à en avoir un peu marre.
J'essaie de lui faire ça en VBA ce sera plus pratique.
@+
Merci encore pour cet exemple je vais voir ce que je peux en tirer.
En faite je suis très mauvais en VBA.
Ce n'est pas ma tasse de thé mais c'est pour rendre service à un collègue qui galère à chaque fois à ajouter manuellement la clef des numéros d'identifiants des praticiens dans son fichier Excel.
J'ai codé en PHP une fonction qui permet de faire ce même calcul. Mais ensuite il doit faire copier coller à chaque fois dans sa feuille xls lol !
Donc là Il commence à en avoir un peu marre.
J'essaie de lui faire ça en VBA ce sera plus pratique.
@+
rescue
Messages postés
1039
Date d'inscription
vendredi 16 novembre 2007
Statut
Contributeur
Dernière intervention
27 mars 2019
136
21 janv. 2012 à 22:49
21 janv. 2012 à 22:49
Bonsoir,
Avec ce que j'avais commencé et ce que tu m'a donné comme idée j'ai pu réaliser la macro que je souhaitais.
Je te remercie encore pour ton aide.
Voici le code au complet pour celui à qui ça intéresserait :
----------------------------------------------------------------------
Sub Calculer_Clef_Nni()
'Définition des variables
Dim Cell As Range
Dim nni_split(1 To 8) As Long
Dim chiffre(1 To 8) As Long
Dim I, J As Long
Dim addition, clef As Integer
'Boucle sur chaque cellule de la plage A1:A10
For Each Cell In Range("A1:A10")
'si la cellule contient 8 chiffres alors faire le calcul
If Len(Cell.Value) = 8 Then
'initialisation de la variable addition
addition = 0
For I = 1 To 8
nni_split(I) = Mid(Cell.Value, I, 1)
chiffre(I) = nni_split(I) * (2 - I Mod 2)
'faire uniquement l'addition des nombres à 2 chiffres (exemple pour 14 c'est : 1 + 4 = 5)
nbr_chiffre = chiffre(I)
If Len(nbr_chiffre) = 2 Then
For J = 1 To 2
'decouper le nombre trouvé en 2 pour faire l'addition
decoupe = Mid(nbr_chiffre, J, 1)
addition = decoupe + addition
Next J
'sinon additionner normalement les chiffres trouvés
Else
addition = nbr_chiffre + addition
End If
Next I
Else
'sinon ne rien faire et quitter le programme
Exit Sub
End If
'total de l'addition en ne prenant que l'unité (exemple pour 25 l'unité est 5).
addition = Right(addition, 1)
'calcul de la clef
clef = (10 - addition)
If clef = 10 Then
clef = 0
Else
clef = clef
End If
'nouveau chiffre avec la clef à inserer dans la cellule
Cell.Value = Cell.Value & clef
Next Cell
End Sub
----------------------------------------------------------------------
@+
Avec ce que j'avais commencé et ce que tu m'a donné comme idée j'ai pu réaliser la macro que je souhaitais.
Je te remercie encore pour ton aide.
Voici le code au complet pour celui à qui ça intéresserait :
----------------------------------------------------------------------
Sub Calculer_Clef_Nni()
'Définition des variables
Dim Cell As Range
Dim nni_split(1 To 8) As Long
Dim chiffre(1 To 8) As Long
Dim I, J As Long
Dim addition, clef As Integer
'Boucle sur chaque cellule de la plage A1:A10
For Each Cell In Range("A1:A10")
'si la cellule contient 8 chiffres alors faire le calcul
If Len(Cell.Value) = 8 Then
'initialisation de la variable addition
addition = 0
For I = 1 To 8
nni_split(I) = Mid(Cell.Value, I, 1)
chiffre(I) = nni_split(I) * (2 - I Mod 2)
'faire uniquement l'addition des nombres à 2 chiffres (exemple pour 14 c'est : 1 + 4 = 5)
nbr_chiffre = chiffre(I)
If Len(nbr_chiffre) = 2 Then
For J = 1 To 2
'decouper le nombre trouvé en 2 pour faire l'addition
decoupe = Mid(nbr_chiffre, J, 1)
addition = decoupe + addition
Next J
'sinon additionner normalement les chiffres trouvés
Else
addition = nbr_chiffre + addition
End If
Next I
Else
'sinon ne rien faire et quitter le programme
Exit Sub
End If
'total de l'addition en ne prenant que l'unité (exemple pour 25 l'unité est 5).
addition = Right(addition, 1)
'calcul de la clef
clef = (10 - addition)
If clef = 10 Then
clef = 0
Else
clef = clef
End If
'nouveau chiffre avec la clef à inserer dans la cellule
Cell.Value = Cell.Value & clef
Next Cell
End Sub
----------------------------------------------------------------------
@+