> Tous les forums > Forum Bureautique
 se positionner avec une macro dans une cellule préciseSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
jmsch
  Posté le 19/08/2014 @ 23:32 
Aller en bas de la page 
Petit astucien

Bonjour,

j'ai besoin de me positionner dans la 1er ligne vide d'un tableau.
Pour ce faire j'utilise le bout de code ci dessous. Il fonctionne.

Range("A" & Cells(2000, 5).End(xlUp).Row + 1).Select

Maintenant dans un autre tableau les valeurs ont été trié en fonction de la couleur de la cellule. Les cellules de couleur en haut , les autres dessous.
Je voudrais me positionner dans la 1er ligne sous les cellules de couleur.

Merci

Publicité
ferrand
 Posté le 20/08/2014 à 00:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Je crains que la détection ne puisse se régler de la même façon, dans la mesure où la couleur n'est pas un critère utilisable avec la méthode SpecialCells, à laquelle on aurait pu penser, et qu'il faille en passer par une boucle pour trouver la première cellule non colorée.

n étant la dernière ligne de ta plage, renvoyée par ton code : n = Cells(2000, 5).End(xlUp).Row + 1)

on aurait quelque chose dans ce genre (si ta plage commence ligne 2 et si tu dois toujours tester sur la colonne E) :

For i = 2 to n
If Cells(i, 5).Interior.ColorIndex = xlColorIndexNone Then
Range("A" & i).Select
Exit For
End If
Next i

jmsch
 Posté le 21/08/2014 à 14:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour et merci

j'ai testé ton code.
Il fonctionne si les cellules ont une couleur. Dans mon cas la couleur provient d'une mise en forme conditionnel, donc ca ne fonctionne pas.
Y a peut être plus simple. Il faudrait tester les colonnes C et D et s'arrêter à la 1er cellules non vide rencontrée. C'est colonnes contiennent des nombres que je saisie manuellement.
En quelque sorte faire une synthèse des 2 lignes ci dessous. Je sais faire avec une colonne mais pas avec 2.
Si ou colonne C est non vide, ou colonne D est non vide je positionne le curseur juste dessous en A

Range("A" & Cells(2000, 3).End(xlUp).Row + 1).SelectRange("A" & Cells(2000, 4).End(xlUp).Row + 1).Select

ferrand
 Posté le 21/08/2014 à 14:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Pour C et D :

Dim n(1) as Integer, i%

For i = 0 to 1
n(i) = Cells(2000, i + 3).End(xlUp).Row + 1
Next i
Range("A" & Iif(n(0) < n(1), n(0), n(1)).Select

Pour formats conditionnel, je regarderai, pas le temps maintenant.

jmsch
 Posté le 21/08/2014 à 21:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Il manque un jeux de parenthèse après le Iif autour du 1er élément de l'expression.
Range("A" & IIf((n(0) < n(1)), n(0), n(1))).Select

Pour le test, ça se positionne correctement uniquement si C et D contiennent tous les 2 des valeurs ce qui n'est pas mon cas.

Dans mon tableau il y a 4 possibilités, soit :
- C contient une valeur
- D contient une valeur
- C et D contiennent une valeur
- C et D sont vides
Moi je voudrais me positionner en A dans la 1er ligne vide, ligne ou C et D sont vide.

Encore Merci

ferrand
 Posté le 21/08/2014 à 23:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

En effet manquait une parenthèse (je tape directement dans le post et pas de compilateur qui me prévient de l'absence d'une élément de syntaxe...)

Si j'ai bien compris, pour avoir C et D à la fois, tu inverses la condition dans la fonction Iif => IIf(n(0) > n(1), n(0), n(1)).

ferrand
 Posté le 22/08/2014 à 01:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Et pour revenir sur les formats conditionnels, ça ne peut pas marcher, car les cellules qui répondent à la condition et celles qui n'y répondent pas ont le même format conditionnel. On ne peut donc tester sur ce format et ses propriétés. Il faut alors tester sur la même condition que celle qui aboutit à colorer lorsqu'elle est vraie.

jmsch
 Posté le 22/08/2014 à 22:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci pour ton aide.
Le positionnement avec les colonnes C et D que tu m'as donné me convient très bien même si je ne comprend pas tout son fonctionnement.

Si j'ai pu te froisser un peu avec l'histoire des parenthèses oublié, ce n'était pas mon intention.
J'ai juste corrigé afin que le post soit juste et aussi si un éventuel futur utilisateur veut l'utiliser.

Bonne soirée



Modifié par jmsch le 22/08/2014 22:24
ferrand
 Posté le 22/08/2014 à 23:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

jmsch a écrit :

Merci pour ton aide.
Le positionnement avec les colonnes C et D que tu m'as donné me convient très bien même si je ne comprend pas tout son fonctionnement.

Si j'ai pu te froisser un peu avec l'histoire des parenthèses oublié, ce n'était pas mon intention.
J'ai juste corrigé afin que le post soit juste et aussi si un éventuel futur utilisateur veut l'utiliser.

Bonne soirée

Pas de souci ! Si je me "froisse", 1) faut une raison... 2) je l'exprime directement ! Au cas particulier, j'ai simplement remarqué que pour ce type d'omission, si j'avais tapé dans un module, j'aurais eu une signalisation d'erreur en allant à la ligne... C'est d'ailleurs une des raisons pour lesquelles il est plus productif de disposer d'un modèle pour faire des propositions, cela évite des erreurs et permet de tester, cela permet aussi de faire des propositions plus ajustées à l'environnement du problème soulevé.

S'il y a des points sur lesquels tu t'interroge, il ne faut pas hésiter à demander...

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Téléphone portable Energizer E13 (2G) à 12,99 €
12,99 € 30 € -57% @Amazon

Amazon fait une promotion sur le téléphone portable Energizer E13 (2G) qui passe à 12,99 €. Si vous recherchez un téléphone qui vous servira à téléphoner et envoyer des SMS, qui ne craint rien et qui dispose d'une excellente autonomie (150 h en veille), voici l'appareil qu'il vous faut. Il intègre une radio FM et peut prendre en charge jusqu'à 2 cartes SIM (mini SIM).


Voir le bon plan
Souris Logitech G402 Hyperion à 29,99 €
29,99 € 40 € -25% @Amazon

Amazon propose actuellement la souris Logitech G402 Hyperion à 29,99 € alors qu'on la trouve ailleurs à partir de 40 €. Une belle réduction pour une très bonne souris filaire dédiée aux joueurs (capteur 4000 dpi, résolution ajustable, 8 boutons programmables).


Voir le bon plan
PC portable Lenovo ThinkPad P14S Gen 2 (FHD IPS, Ryzen 7 Pro, 16 Go RAM, SSD 512 Go) à 719 €
719 € 1150 € -37% @Lenovo

Lenovo fait une belle promotion sur l'ordinateur portable Lenovo ThinkPad P14S qui passe à 719 € avec le code promo LENOVOP14SAMDR7 alors qu'on le trouve habituellement à 1150 €. Cet ordinateur portable dispose d'un écran 14 pouces Full HD IPS (1920x1080), d'un processeur AMD Ryzen 7 Pro 5850U (8 coeurs), de 16 Go de RAM (extensible), d'un SSD de 512 Go, d'un chip graphique Vega 8 intégré, d'une webcam, d'un lecteur de cartes mémoire et de connexions Bluetooth, WiFi 6, Ethernet, HDMI, USB 2.0 et USB 3.0. 

Une machine robuste et légère qui vous suivra partout (1,55 kg) et adaptée à tous les usages (étudiant, entreprise, bureautique, multimédia, Internet et jeux en FHD). Elle est garantie 3 ans.


Voir le bon plan
Clavier mécanique Roccat Vulcan 121 (RGB, rétroéclairé, switch Linear) à 78,77 €
78,77 € 120 € -34% @Amazon

Amazon fait une promotion sur le clavier mécanique Roccat Vulcan 121 (RGB, rétroéclairé) qui passe à 78,77 € au lieu de 120 €. 


Voir le bon plan
Jeu PC Midnight Ghost Hunt gratuit
Gratuit @Epic Games

Epic Games Store offre actuellement le jeu PC Midnight Ghost Hunt. Un jeu de cache-cache chaotique en multijoueur. Prenez possession d'objets à première vue inoffensifs dans le rôle des Fantômes ou bien traquez ces derniers en tant que Chasseurs avant que ne résonnent les douze coups de minuit ! Audio en anglais et textes en français.


Voir le bon plan
Tablette 10.1 pouces TECLAST M40 Plus (8 coeurs, FHD, 8 Go RAM, 128 Go) à 129,99 €
129,99 € 169,99 € -24% @Amazon

Amazon fait une promotion sur la tablette 10.1 pouces TECLAST T40 Plus qui passe à 129,99 € grâce à un coupon à activer sur la page du produit. Cette tablette possède un processeur octo core, 8 Go de RAM, 128 Go de stockage extensibles par MicroSD, un écran FHD IPS (1920x1200) et tourne sous Android 12. Le WiFi, le bluetooth et le GPS sont également de la partie.


Voir le bon plan

Sujets relatifs
Execution macro lors d'une saisie dans une cellule
Ouvrir avec macro un fichier dans autre classeur
Copier Coller dans Nouv Classeur avec Nom Cellule
afficher un calendrier dans une macro de cellule
Macro - déctecter un caractère dans une cellule
Suppress ligne avec cellule nommée en macro
cellule avec formule dans excel
Macro vers une cellule précise à un endroit précis
2 pages par feuille dans macro excel
Recopie cellule par macro
Plus de sujets relatifs à se positionner avec une macro dans une cellule précise
 > Tous les forums > Forum Bureautique