Cellule identique / itération
Fermé
excelnoob
-
10 sept. 2014 à 16:09
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 12 sept. 2014 à 13:48
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 12 sept. 2014 à 13:48
A voir également:
- Cellule identique / itération
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Verrouiller cellule excel - Guide
- Site identique a coco - Accueil - Réseaux sociaux
- Affichez l'ensemble des diapositives à l'écran avec 5 diapositives par ligne. repérez le groupe de 3 diapositives avec une fleur identique alignées verticalement, supprimez la première d'entre elles. un nouveau groupe de 3 diapositives avec une fleur identique alignées verticalement apparaît, supprimez encore la première d'entre elles. déplacez les 3 premières diapositives de la 4e ligne au début de la présentation. quel mot est formé par les lettres de la première colonne ? - Forum Powerpoint
7 réponses
HiTech4ever
Messages postés
98
Date d'inscription
mardi 2 septembre 2014
Statut
Membre
Dernière intervention
18 décembre 2016
20
10 sept. 2014 à 17:25
10 sept. 2014 à 17:25
Bonjour,
Il y a la formule =EXACT() qui peut être combinée à =OU()
Voir le lien ci-dessous pour plus de détails.
http://office.microsoft.com/fr-001/excel-help/comparer-le-contenu-de-cellules-HP003056130.aspx
Par contre je pense que ce que tu veux faire est impossible, ça génère ce qu'on appel une "référence circulaire"
https://www.excel-plus.fr/intermed/techavanc/la-reference-circulaire/
ça serait faisable si tu utilise 3 colonnes : une pour saisir les données brute (toto, toto, poto, moto..), une pour y insérer le résultat de comparaison, et une 3é pour le résultat final (toto1, toto2, poto, moto..)
PS : la 3é colonne devrait contenir une formule de test dont le résultat dépend du contenu de la colonne 2.
tiens nous au courant..
Il y a la formule =EXACT() qui peut être combinée à =OU()
Voir le lien ci-dessous pour plus de détails.
http://office.microsoft.com/fr-001/excel-help/comparer-le-contenu-de-cellules-HP003056130.aspx
Par contre je pense que ce que tu veux faire est impossible, ça génère ce qu'on appel une "référence circulaire"
https://www.excel-plus.fr/intermed/techavanc/la-reference-circulaire/
ça serait faisable si tu utilise 3 colonnes : une pour saisir les données brute (toto, toto, poto, moto..), une pour y insérer le résultat de comparaison, et une 3é pour le résultat final (toto1, toto2, poto, moto..)
PS : la 3é colonne devrait contenir une formule de test dont le résultat dépend du contenu de la colonne 2.
tiens nous au courant..
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
12 sept. 2014 à 13:48
12 sept. 2014 à 13:48
De rien,
Peux tu mettre le sujet à Résolu (en haut à droite de ton premier message)
Cdlmnt
Peux tu mettre le sujet à Résolu (en haut à droite de ton premier message)
Cdlmnt
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
10 sept. 2014 à 17:55
10 sept. 2014 à 17:55
Bonjour
Une solution via vba
https://www.cjoint.com/?3Ikr5e4pN3L
Cdlmnt
Une solution via vba
https://www.cjoint.com/?3Ikr5e4pN3L
Cdlmnt
Re bonjour,
En fait je viens de me rendre compte de quelque chose :
Quand j'exécute la macro pour la première fois, j'ai bien toto1, toto 2 et toto 3.
Par contre, en imaginant que quelqu'un reprenne le fichier et veuille relancer le vba en remettant toto: rien n'est identique mais on aura toto1, toto11, toto21 et toto31 (et ce à l'infini)
Une idée de solution?
Merci d'avance
En fait je viens de me rendre compte de quelque chose :
Quand j'exécute la macro pour la première fois, j'ai bien toto1, toto 2 et toto 3.
Par contre, en imaginant que quelqu'un reprenne le fichier et veuille relancer le vba en remettant toto: rien n'est identique mais on aura toto1, toto11, toto21 et toto31 (et ce à l'infini)
Une idée de solution?
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
OeufsAuRiz
Messages postés
8
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
11 septembre 2014
1
11 sept. 2014 à 15:16
11 sept. 2014 à 15:16
Faudrait peut-être séparer le texte du nombre et trouver le max pour chaque texte identique pour incrémenter de un à partir du max les prochaines valeurs après je ne connais pas trop le langage vba excel...
A vrai dire le gros souci, c'est que même si je sélectionne une seule case vide du tableur, il va me mettre des 1 à chaque fois que je lance la macro....
Je sais pas comment régler ça...
Merci d'avance,
Cordialement
Je sais pas comment régler ça...
Merci d'avance,
Cordialement
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
Modifié par ccm81 le 11/09/2014 à 20:17
Modifié par ccm81 le 11/09/2014 à 20:17
Le principe : nettoyer les "noms-chiffrés" avant d'envoyer le chiffrage
Tu remplaces le code par celui-ci
RQ. Pour attribuer un raccourci clavier à la macro OK
Depuis la feuille de calcul
Outils/Macro
Selectionner la macro OK
Option/Raccourci clavier et mettre Ctrl+k (par exemple)
Cdlmnt
Tu remplaces le code par celui-ci
Public Function Nettoie(s As String) As String
If Not IsNumeric(Right(s, 1)) Then
Nettoie = s
Else
Nettoie = Nettoie(Left(s, Len(s) - 1))
End If
End Function
Public Sub Ok()
Dim plage As Range, cel As Range
Dim obn As Object, cle As String, cles, k As Long, n As Long, numnom As Long, nom As String
Set plage = Selection
' nettoyer plage
For Each cel In plage
cel.Value = Nettoie(cel.Value)
Next cel
' numerotage
Set obn = CreateObject("scripting.dictionary")
For Each cel In plage
cle = cel.Value
If Not obn.exists(cle) Then obn.Add cle, 1
Next cel
cles = obn.keys
n = obn.Count
For k = 0 To n - 1
nom = cles(k)
numnom = 0
For Each cel In plage
If cel.Value = nom Then
numnom = numnom + 1
cel.Value = nom & numnom
End If
Next cel
Next k
End Sub
RQ. Pour attribuer un raccourci clavier à la macro OK
Depuis la feuille de calcul
Outils/Macro
Selectionner la macro OK
Option/Raccourci clavier et mettre Ctrl+k (par exemple)
Cdlmnt