Elaboration de macro

Résolu
SexyPotatoe Messages postés 12 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015 - 19 mai 2015 à 16:47
SexyPotatoe Messages postés 12 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015 - 20 mai 2015 à 11:36
Bonjour à tous et à toutes,

Je me permets de soliciter votre aide concernant l'élaboration d'un code VBA, je ne m'y connais absolument pas.

Bref j'ai besoin de remplir les valeurs de ma colonne "RENOV_LOURDE_ANNEE" avec les valeurs de la colonne voisine "RENOV_LOURDE_DATE" si et seulement si il n' y a aucune valeur dans la colonne "RENOV_LOURDE_ANNEE"

Je m'explique, j'ai :
RENOV_LOURDE_ANNEE ¦ RENOV_LOURDE_DATE
2014 ¦ 30.07.2014
29.07.2014 ¦ 30.07.2014
NULL ¦ 30.03.2012
NULL ¦ 2014

Je veux :

RENOV_LOURDE_ANNEE
2014
29.07.2014
30.03.2012
2014

N'hésitez pas si vous avez besoin de précisions.

Bien à vous...

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
19 mai 2015 à 18:06
Bonjour,
si tu veux le faire en VBA (ce forum) :
Il te suffit pour cela de (en supposant que la colonne RENOV_LOURDE_DATE soit la colonne 2 et la colonne RENOV_LOURDE_ANNEE la colonne 1 :
- parcourir en boucle for i = 1 to dernière_ligne ... next les cellules Cellule cells(i, 2) remplies de ta colonne RENOV_LOURDE_DATE
- et si la Cellule.offset(0,-1) = "" alors ===>> cellule.offset(0,-1).value = cellule.value
Montre-nous ce que tu écris sur la base de ces indications, si encore en difficulté.

En te signalant que tu peux le faire également par une simple formule Excel (sans VBA, donc) étirée sur la colonne 1

0
SexyPotatoe Messages postés 12 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015
20 mai 2015 à 08:31
Merci de ta réponse ucfoutu.

Malheureusement je n'ai jamais élaboré de code VBA. Je ne me suis jamais penché sur le sujet et il m'est impossible d'écrire quoi que ce soit...

Mon travail me le demande, en fait, ce qui m'embête un peu.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
20 mai 2015 à 08:51
Il va falloir que tu t'y mettes, cependant.
0
SexyPotatoe Messages postés 12 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015
20 mai 2015 à 08:53
Certes... Merci de tes conseils en tout cas.

bien à toi...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 20/05/2015 à 10:56
Ecoute :
Je vais te mettre sur les rails, mais il va falloir que tu analyses, comprennes et continues ...
Regarde ce que fait ce code :
 Dim cellule As Range, colonne_ref As Long, colonne_a_completer As Long
colonne_ref = 2 ' ===>> remplece ce 2 par le numéro de ta colonne RENOV_LOURDE_DATE
colonne_a_completer = 1 ' ===>> remplace ce 1 par le numéro de ta colonne RENOV_LOURDE_ANNEE
For Each cellule In Columns(colonne_ref).SpecialCells(xlCellTypeConstants)
MsgBox "la colonne de référence contient " & cellule.Value & vbCrLf & _
"et celle à compléter contient " & Cells(cellule.Row, colonne_a_completer).Value
Next

Il te montre ce que contient chaque cellule de la colonne de référence et ce que contient la cellule correspondante de la colonne à compléter.
Nous ne retenons de la colonne de référence que les cellules contenant une valeur ( xlCellTypeConstants )
Le reste est simple et est du B.A.BA ===>> donner à la cellule qui s'avèrerait vide ( Cells(cellule.Row, colonne_a_completer) ) la valeur trouvée dans la cellule de référence. Cela se fait par une simple expression conditionnelle, à substituer aux msgboxes que j'ai mis dans mon code
Les mots dont tu dois apprendre la signification et l'usage sont les suivants :
Dim
Range
For Each
Columns
SpecialCells
MsgBox
Cells
Value

l'ouverture de ton aide VBA sur ces mots t'apprendra cela.
Je te laisse bien évidemment te lancer maintenant (c'est vraiment peu et c'est un minimum à apprendre).
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
SexyPotatoe Messages postés 12 Date d'inscription mercredi 6 mai 2015 Statut Membre Dernière intervention 16 juin 2015
20 mai 2015 à 11:36
Ouahou, je ne m'attendais pas à une telle réponse, merci infiniment en tout cas. Tu sauves le monde de la géomatique Vaudoise.

Je vais prendre du temps pour me pencher sur le sujet car c'est quelque chose que je rencontrerai très souvent dans ma profession.

à une prochaine !
0
Rejoignez-nous