Insertion colone
Fermé
Boriserge
Messages postés
4
Date d'inscription
mardi 2 janvier 2018
Statut
Membre
Dernière intervention
11 avril 2018
-
10 avril 2018 à 18:41
jordane45 Messages postés 38289 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 novembre 2024 - 11 avril 2018 à 09:57
jordane45 Messages postés 38289 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 novembre 2024 - 11 avril 2018 à 09:57
A voir également:
- Insertion colone
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Touche insertion clavier - Guide
2 réponses
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
10 avril 2018 à 20:04
10 avril 2018 à 20:04
Bonjour,
Et qu'as tu commencé à faire ? Sur quoi bloques tu exactement ? comment se présentent tes données ?
Un minimum de détail pourra aider les volontaires à te répondre ^^
Et qu'as tu commencé à faire ? Sur quoi bloques tu exactement ? comment se présentent tes données ?
Un minimum de détail pourra aider les volontaires à te répondre ^^
Boriserge
Messages postés
4
Date d'inscription
mardi 2 janvier 2018
Statut
Membre
Dernière intervention
11 avril 2018
10 avril 2018 à 23:16
10 avril 2018 à 23:16
A chaque colonne correspond une date (de colonne B à NG pour le moment). Je souhaite garder une colonne vide avant chaque début de semaine pour y inscrire diverses informations sur mon planning.
Par soucis d'économie de temps je souhaiterai ne pas avoir à insérer les colonnes une par une, surtout qu'il est fort probable que le nombre de colonne augmente.
Par soucis d'économie de temps je souhaiterai ne pas avoir à insérer les colonnes une par une, surtout qu'il est fort probable que le nombre de colonne augmente.
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
11 avril 2018 à 00:28
11 avril 2018 à 00:28
Tu ne m'as pas répondu concernant ce que tu as commencé à faire ( sous entendu... à coder)
Dans le cas où tu n'aurais rien commencé....
Voici de quoi démarrer :
Faire une boucle sur chaque cellule de ta ligne de dates
https://silkyroad.developpez.com/vba/boucles/#LII
Vérifier le jour de la date correspondant pour trouver les "lundi"
Lire la "valeur" d'une cellule
https://docs.microsoft.com/fr-FR/office/vba/api/Excel.Range.Value
Vérifier le jour :
https://www.excelfunctions.net/vba-weekday-function.html
https://www.excel-pratique.com/fr/vba/conditions.php
Insérer des colonnes
https://analysistabs.com/excel-vba/inserting-columns-worksheet/
Dans le cas où tu n'aurais rien commencé....
Voici de quoi démarrer :
Faire une boucle sur chaque cellule de ta ligne de dates
https://silkyroad.developpez.com/vba/boucles/#LII
Vérifier le jour de la date correspondant pour trouver les "lundi"
Lire la "valeur" d'une cellule
https://docs.microsoft.com/fr-FR/office/vba/api/Excel.Range.Value
Vérifier le jour :
https://www.excelfunctions.net/vba-weekday-function.html
https://www.excel-pratique.com/fr/vba/conditions.php
Insérer des colonnes
https://analysistabs.com/excel-vba/inserting-columns-worksheet/
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
11 avril 2018 à 00:28
11 avril 2018 à 00:28
En gros :
Sub ajoutcolLundi() Dim numJour As Integer Dim d As Date Dim rng As Range Dim i As Long Dim col As Long Set rng = Sheets(1).Range("A1:AX1") nbcol = rng.Count For i = nbcol To 1 Step -1 d = CDate(rng(i).Value) numJour = Weekday(d, vbMonday) If numJour = 1 Then Sheets(1).Columns(i).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove End If Next End Sub
Boriserge
Messages postés
4
Date d'inscription
mardi 2 janvier 2018
Statut
Membre
Dernière intervention
11 avril 2018
>
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
Modifié le 11 avril 2018 à 09:24
Modifié le 11 avril 2018 à 09:24
Merci beaucoup, cela marche presque bien avec des ajustements de nom :
La colonne est ajouté avant le dimanche et non le lundi, mais j'ai résolu ça
Ce pendant je voudrais ajouter une exception s'il y a déja une colonne vide
La colonne est ajouté avant le dimanche et non le lundi, mais j'ai résolu ça
Sub ajoutcolLundi()
Dim numJour As Integer
Dim d As Date
Dim rng As Range
Dim i As Long
Dim col As Long
Set rng = Sheets("Sheet1").Range("B3:NW3")
nbcol = rng.Count
For i = nbcol To 1 Step -1
d = CDate(rng(i).Value)
numJour = Weekday(d, vbMonday)
If numJour = 2 Then
Sheets("Sheet1").Columns(i).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
End If
Next
End Sub
Ce pendant je voudrais ajouter une exception s'il y a déja une colonne vide
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
11 avril 2018 à 09:57
11 avril 2018 à 09:57
Ben tu fais un if pour voir si la cellule précédente est vide ou non.