Remplacer la valeur d'une cellule par l'entête de sa colonne
Fermé
KBA3103
Messages postés
7
Date d'inscription
mercredi 2 novembre 2016
Statut
Membre
Dernière intervention
23 novembre 2016
-
9 nov. 2016 à 16:36
KBA3103 Messages postés 7 Date d'inscription mercredi 2 novembre 2016 Statut Membre Dernière intervention 23 novembre 2016 - 14 nov. 2016 à 10:57
KBA3103 Messages postés 7 Date d'inscription mercredi 2 novembre 2016 Statut Membre Dernière intervention 23 novembre 2016 - 14 nov. 2016 à 10:57
A voir également:
- Remplacer la valeur d'une cellule par l'entête de sa colonne
- Déplacer une colonne excel - Guide
- Remplacer disque dur par ssd - Guide
- Aller à la ligne dans une cellule excel - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
4 réponses
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 428
9 nov. 2016 à 17:22
9 nov. 2016 à 17:22
Bonjour
Ce n'est pas très clair
Peux tu envoyer un bout de ton fichier, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".
Cdlmnt
Ce n'est pas très clair
Peux tu envoyer un bout de ton fichier, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".
Cdlmnt
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 428
10 nov. 2016 à 11:42
10 nov. 2016 à 11:42
Si j'ai compris
Feuille Feuil1 en J11 tu veux récupérer la liste des 3 dates
10/10/2016 11/10/2016 14/10/2016
Si c'est çà, il faudra certainement passer par une fonction personnalisée (macro)
tu dis
Feuille Feuil1 en J11 tu veux récupérer la liste des 3 dates
10/10/2016 11/10/2016 14/10/2016
Si c'est çà, il faudra certainement passer par une fonction personnalisée (macro)
tu dis
KBA3103
Messages postés
7
Date d'inscription
mercredi 2 novembre 2016
Statut
Membre
Dernière intervention
23 novembre 2016
10 nov. 2016 à 11:53
10 nov. 2016 à 11:53
Je veux effectivement récupérer les dates mais je voudrais que :
-10/10/2016 s'affiche en T11 à la place de 0,13
-11/10/2016 s'affiche en U11 à la place de 0,38
-14/10/2016 s'affiche en X11 à la place de 0,25.
Je suis partie sur ce code, mais je n'arrive pas à l'adapter à mon tableau :
Sub Test2()
Dim iNbreDeColonnes As Integer
Dim iNombreDeLignes As Integer
Dim iColonne As Integer
Dim iHauteurColonne As Integer
Dim strTitreColonne As String
Worksheets("Feuil1").Activate 'On se positionne sur le jeu de donnees
iNbreDeColonnes = Range("A10").End(xlToRight).Column 'On compte le nombre de colonnes du jeu de données
iNombreDeLignes = Range("A10").End(xlDown).Row 'On le nombre de lignes du jeu de données
iHauteurColonne = iNombreDeLignes - 1 'Hauteur d'une colonne sans le titre
For iColonne = 11 To 41 'De la colonne 11 à 41
strTitreColonne = Cells(1, iColonne).Value 'Je récupère le titre de la colonne active
Worksheets("Feuil1").Cells(iNombreDeLignes, iNbreDeColonnes).Value = strTitreColonne 'Je donne comme nom à la plage de valeurs le titre de la colonne active
Next iColonne
End Sub
Et donc je galère au niveau de la ligne :
Worksheets("Feuil1").Cells(iNombreDeLignes, iNbreDeColonnes).Value = strTitreColonne
Car en fait cette ligne doit dire "pour toute les cellules non vides remplacer la valeur par le titre de la colonne.
Tu arrives à cerner un peu plus ma demande ?
-10/10/2016 s'affiche en T11 à la place de 0,13
-11/10/2016 s'affiche en U11 à la place de 0,38
-14/10/2016 s'affiche en X11 à la place de 0,25.
Je suis partie sur ce code, mais je n'arrive pas à l'adapter à mon tableau :
Sub Test2()
Dim iNbreDeColonnes As Integer
Dim iNombreDeLignes As Integer
Dim iColonne As Integer
Dim iHauteurColonne As Integer
Dim strTitreColonne As String
Worksheets("Feuil1").Activate 'On se positionne sur le jeu de donnees
iNbreDeColonnes = Range("A10").End(xlToRight).Column 'On compte le nombre de colonnes du jeu de données
iNombreDeLignes = Range("A10").End(xlDown).Row 'On le nombre de lignes du jeu de données
iHauteurColonne = iNombreDeLignes - 1 'Hauteur d'une colonne sans le titre
For iColonne = 11 To 41 'De la colonne 11 à 41
strTitreColonne = Cells(1, iColonne).Value 'Je récupère le titre de la colonne active
Worksheets("Feuil1").Cells(iNombreDeLignes, iNbreDeColonnes).Value = strTitreColonne 'Je donne comme nom à la plage de valeurs le titre de la colonne active
Next iColonne
End Sub
Et donc je galère au niveau de la ligne :
Worksheets("Feuil1").Cells(iNombreDeLignes, iNbreDeColonnes).Value = strTitreColonne
Car en fait cette ligne doit dire "pour toute les cellules non vides remplacer la valeur par le titre de la colonne.
Tu arrives à cerner un peu plus ma demande ?
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 428
10 nov. 2016 à 12:23
10 nov. 2016 à 12:23
En bref, tu veux écraser les cellules non vides de la plage K10:AO69 (pour octobre) par l'entête de colonne (date ligne 10)
KBA3103
Messages postés
7
Date d'inscription
mercredi 2 novembre 2016
Statut
Membre
Dernière intervention
23 novembre 2016
10 nov. 2016 à 12:28
10 nov. 2016 à 12:28
yes c'est tout à fait ça !
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 428
10 nov. 2016 à 13:33
10 nov. 2016 à 13:33
Essaies ceci
Une remarque en passant. Tu devrais mettre la directive
Option Explicit
en début de module, ça t'obligerait à déclarer toutes les variables utilisées,
Cdlmnt
Const lideb = 10
Const codeb = 11
Public Sub OK()
Dim co As Long, cofin As Long, li As Long, lifin As Long, d As Date
With ActiveSheet
d = .Cells(lideb, codeb)
If Month(d) = 12 Then
df = CDate(Day(d) & "/" & 1 & "/" & Year(d) + 1)
Else
df = CDate(Day(d) & "/" & Month(d) + 1 & "/" & Year(d))
End If
lifin = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
cofin = codeb + df - d - 1
For li = lideb + 1 To lifin
For co = codeb To cofin
If .Cells(li, co).Value <> "" Then
.Cells(li, co).Value = .Cells(lideb, co).Value
.Cells(li, co).NumberFormat = "dd/mm/yyyy"
End If
Next co
Next li
End With
End Sub
Une remarque en passant. Tu devrais mettre la directive
Option Explicit
en début de module, ça t'obligerait à déclarer toutes les variables utilisées,
Cdlmnt
KBA3103
Messages postés
7
Date d'inscription
mercredi 2 novembre 2016
Statut
Membre
Dernière intervention
23 novembre 2016
10 nov. 2016 à 16:51
10 nov. 2016 à 16:51
dacc, je ne savais pas pour Option Explicit (je débute en VBA). Merci du conseil.
Je vais regarder ta macro dans le weekend, et je te dis ce que ça donne lundi.
Merci pour ton aide !
Je vais regarder ta macro dans le weekend, et je te dis ce que ça donne lundi.
Merci pour ton aide !
KBA3103
Messages postés
7
Date d'inscription
mercredi 2 novembre 2016
Statut
Membre
Dernière intervention
23 novembre 2016
14 nov. 2016 à 10:57
14 nov. 2016 à 10:57
Bonjour CCM81,
J'ai regardé ton code ce weekend mais il ne fonctionne pas, je n'ai pas réussi à l'adapter.
Par contre j'ai trouvé la solution à mon problème!
Voici un nouveau fichier dans lequel j'ai fait le test :
https://www.cjoint.com/c/FKoj2UGJ0RR
C'est au niveau du bouton 4 que j'arrive à récupérer mes dates à la place de mes charges.
Merci pour ton aide en tout cas !
J'ai regardé ton code ce weekend mais il ne fonctionne pas, je n'ai pas réussi à l'adapter.
Par contre j'ai trouvé la solution à mon problème!
Voici un nouveau fichier dans lequel j'ai fait le test :
https://www.cjoint.com/c/FKoj2UGJ0RR
C'est au niveau du bouton 4 que j'arrive à récupérer mes dates à la place de mes charges.
Merci pour ton aide en tout cas !
10 nov. 2016 à 09:31
Merci pour la procédure :)
Voila le lien de mon fichier du coup :
https://www.cjoint.com/c/FKkiEjr8S0R
J'ai mis quelques explications dans le document j'espère que ca sera compréhensible.
Car ce qui me semble limpide ne l'est pas forcément pour quelqu'un d'autre.
Merci :)